完全掌握Linux和Windows下git的基本操作

本篇文章給大家帶來了關于git的相關知識,其中主要介紹了linuxwindowsgit的基本操作,希望對大家有幫助。

完全掌握Linux和Windows下git的基本操作

推薦學習:《git

git學習筆記——Linux和Windows下git的基本操作

github主頁:https://github.com/Taot-chen

一、Linux環境

1、安裝git

sudo apt-get install git

2、設置git賬號信息

git config --global user.name "你的git賬號用戶名"git config --global user.email "你的郵箱"

3、設置讓credential helper 幫助我們在一定時間內在內存中保存我們的code,其中第二行為設置超時的時間

git config --global credential.helper cachegit config --global credential.helper 'cache --timeout=3600'

4、獲取ssh秘鑰和遠程GIT關聯

ssh-keygen -t rsa -C "你的郵箱"# 之后一路回車cd ~/.ssh  cat id_rsa.pub# 再在Terminal中復制密鑰,添加到github的settings的SSH公鑰中,完成免密碼登錄關聯 # 驗證ssh通信情況,提示連接成功即可ssh -T git@github.com# 其他操作就和為windows的幾乎一致

5、push常用命令

git init # 初始化本地倉庫git config --list  # 可以查看你的git配置信息  # 提交文件到本地倉庫git add abc.cppgit commit -m "first commit" //-m 用于指定本次提交的描述信息  # 提交到repositorygit remote add origin "github倉庫ssh地址"	//關聯倉庫git push origin master #master 是分支名  # 以后若提交到相同倉庫,提交到本地倉庫之后,直接git push即可# 克隆項目git clone "項目的ssh地址"

6、push報錯時調大緩存

git config http.postBuffer 52428800		//(根據文件大小隨便調整)

二、Windows環境

1、版本控制;備份與修改

1)本地版本控制系統

?把版本號存入數據庫,來區分記錄版本的更迭。

2)集中化版本控制系統(CVCS)

?具有一個專門用于存放版本的修訂版本的服務器,并且能夠借助版本記錄來方便地定位相關的記錄。

3)分布式版本控制系統(DVCS)

?客戶端不只是提取出最新版本的文件快照,而是把最原始的代碼倉庫鏡像到本地,任何一處協同處理的服務器故障,事后都可以用任何一個鏡像出來的本地倉庫恢復。

2、Windows下git的安裝和配置

1)安裝

?在git官網下載安裝對應的版本,在菜單中找到Git->Git bash,出現命令行窗口,即是安裝成功。

  • 查看版本:

    git --version

2)配置用戶名和郵箱

git config --gobal user.name "your user name"      # 配置用戶名git config --gobal user.email "your email"     #配置郵箱git config --list      # 查看所有配置

3、git文件的三種狀態和工作模式

1)三種狀態

  • 已提交(committed):數據已經安全地保存到本地數據庫中
  • 已修改(modified):修改了文件,但還沒保存到數據庫中
  • 已暫存(staged):對一個已修改的文件的當前版本作了標記,使之包含在下次提交的快照中

2)三個工作區域

  • 工作區:本地項目目錄
  • 暫存區:對修改后的文件進行快照,添加到暫存區
  • git倉庫:工作區的隱藏目錄.git,不算是工作區,是git的版本庫

3)git的工作流程

  • 在工作區中修改某些文件;
  • 對修改后的文件進行快照,添加到暫存區
  • 提交更新,將保存在暫存區的快照永久存儲在git倉庫中

    拉取: git倉庫->本地工作區

    提交: 本地工作區->暫存區->git倉庫

4、創建版本庫并提交文件

1)初始化本地倉庫

?在本地初始化一個沒有任何文件的空倉庫。

git init

2)新建文件夾git01.txt并添加到暫存區

git add      # 將文件添加到暫存區git add .    # 提交當前目錄的全部文件git status   # 查看文件的狀態git commit   # 將暫存區的文件提交到本地倉庫git log      # 查看完整的提交日志信息git diff HEAD --file     # 查看文件法file歷次提交的區別

例如:

在Git Bash中

git init     # 創建空倉庫git add git01.txt    # 將文件git01.txt添加到緩存區git commit -m '第一次提交'    #提交文件到本地倉庫,單引號內的內容是本次提交的注釋,必須要有git status     # 查看暫存區文件狀態git log      # 查看完整的提交記錄

5、文件修改與提交修改

?可以直接在工作區文件中進行修改,之后再添加到暫存區,提交到本地倉庫

注: 提交之前必須先添加到暫存區

1)暫存區文件的提交與撤銷

  • 提交:git add/git commit

  • 撤銷:

    ?從暫存區移除:

    git restore --staged git02.txt    # 從暫存區移除文件git02.txtgit reset HEAD git02.txt     # 取消關于文件git02.txt上一次的操作

2)版本回退

簡化顯示提交記錄:

git log --pretty=oneline

此時HEAD指針默認指向最后一次提交的記錄。版本回退就是讓HEAD指針想要回退到的版本。

git reset --hard HEAD^     # 回退一個版本git reset --hard HEAD^^    # 回退兩個版本git reset --hard HEAD~n    # 回退n個版本git reset --hard "版本識別碼”    # 回退或者前進到版本識別碼所在的版本git reflog     # 顯示所有的提交記錄(包括HEAD指向的版本之后的版本),即可以顯示用戶的每一次操作的記錄

3)文件刪除

git ls-files     # 查看本地倉庫的文件目錄git rm filename    # 刪除文件filename # 另一種刪除方法:現在工作區刪除文件,之后再提交操作即可

6、遠程倉庫

1)github

git clone "項目地址"(github地址)     # 下載github項目(可以不登陸)

2)ssh下載(需要登陸)

# 首先需要在gitbash中生成一個keyssh-keygen -t rsa -C "github郵箱" # 找到生成的公鑰,打開后復制,之后再去github中添加`SSH and GPG keys` # 驗證有沒有添加成功ssh -T git@github.com# 出現您以被成功認證即可(即此時已經將ssh綁定了github) # 下載項目git clone "項目地址" (ssh地址)

3)本地項目(本地倉庫)推到遠程倉庫

# 在github新建一個倉庫# 將本地項目提交到本地倉庫 # 將本地倉庫綁定github上面的遠程倉庫git remote add origin "github倉庫地址" # 將其推到遠程倉庫的主干上(遠程倉庫中包含本地倉庫的所有提交記錄)git push -u origin master # 以后的更新推送,只需要在本地提交完成之后,直接如下命令git push

7、git分支操作

?主干是已經上線的項目,分支中的任何操作都不會影響主干的功能。在分支完善無誤之后,再將其合并到主干即可。

1)本地分支操作

常用基本命令

命令 描述
git checkout branch 切換到指定分支
git checkout -b new_branch 新建分支并切換到新建分支
git branch -d branch 刪除指定分支
git branch 查看所有分支,并且*標記當前所在分支
git merge branch 合并分支
git branch -m / -M oldbranch newbranch 重命名分支,如果new_branch名字分支已經存在,則需要使用-M強制重命名
  • 切換到指定分支:git checkout branch
  • 新建分支并切換到新建分支:git checkout -b new_branch
  • 刪除指定分支:git branch -d branch
  • 查看所有分支,并且*標記當前所在分支:git branch
  • 合并分支:git merge branch
  • 重命名分支,如果new_branch名字分支已經存在,則需要使用-M強制重命名:git branch -m | -M oldbranch newbranch

    注:

    只能在主干分支上來合并分支,不可反過來。(雖然git不會報錯,但是這樣是不可以的)

    分支所具有的內容,就是創建分支的時候主干所具有的內容。

2)遠程分支操作

分支push和pull

相關命令

命令 描述
git branch -a 查看本地與遠程分支
git push origin branch_name 推送本地分支到遠程
git push origin :remote_branch 刪除遠程分支(本地分支還保留)
git checkout -b local_branch origin/remote_branch 拉取遠程指定分支并在本地創建分支

獲取遠程分支的最新狀態

git fetch

圖表的方式顯示操作記錄

git log --graph --pretty=oneline

3)本地分支沖突解決

# 當分支和主干的同一文件的同一行不同的時候,合并分支就會出現沖突 # 根據具體的需要修改,使之相同即可

4)多人協同操作沖突

# 兩個用戶對同一個文件的同一行進行了不同的操作 # 解決方法:在推送之期拉一下遠程倉庫,在本地根據具體的需求解決完沖突之后再推送

9、標簽管理

標簽操作基本命令git tag

命令 描述
git tag tag_name 新建標簽,默認為HEAD
git tag -a tag_name -m ‘xxx’ 添加標簽并指定標簽描述信息
git tag 查看所有標簽
git tag -d tag_name 刪除一個本地標簽
git push origin tag_name 推送本地標簽到遠程
git push origin –tags 推送全部未推送過的本地標簽到遠程
git push origin :refs/tags/tag_name 刪除一個遠程標簽

10、idea下git基本操作

1)環境集成配置

Configure->Settings->搜索git->在Path to Git executable中添加git的安裝路徑(一直到git.exe)->test->出現版本號,即表示成功->添加github

File->Other Settings->Setting for New Projects->Git/Git Hub

2)推送項目到遠程倉庫

項目提交到本地倉庫->創建遠程倉庫->綁定遠程倉庫->推送到遠程倉庫

3)分支操作

4)gitignore插件

5)沖突及其解決

推薦學習:《git

以上就是完全掌握Linux和Windows下

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享