Git學習筆記(5): 分支管理(創建分支、切換分支、合併分支、刪除分支)


注:轉載請標明原文出處鏈接:https://xiongyiming.blog.csdn.net/article/details/106126916


1 創建分支與查看分支


創建分支命令格式:git branch 分支名

查看分支命令格式:git branch -v
也可以通過命令:git log --decorate --all --oneline --graph 對各個分支進行圖形化顯示。



假設目前工作區和倉庫有 d123.txt , d456.txt , hello_world.cpp , README.md 四個文件,現在需要建立分支 feature_sum , 然後查看該分支。

創建分支,使用命令:git branch feature_sum ,然後通過命令:git branch -v 查看該分支,也可以通過命令:git log --decorate --all --oneline --graph 圖形化顯示分支,結果如下圖所示:

在這裏插入圖片描述




2 切換分支


切換分支命令格式:git checkout 分支名


例如,前面的例子已經創建了 feature_sum 分支,接下來切換到該分支(命令: git checkout feature_sum ),結果圖下圖所示,發現指針HEAD指向了分支 feature_sum 。

在這裏插入圖片描述


然後在 feature_sum 分支下添加 test_sum.cpp 文件並提交到倉庫,結果如下圖所示:

在這裏插入圖片描述




3 合併分支


假設需要將其他分支合併到master分支上,則合併分支前,首先切換到master分支上,然後將其他分支合併到master分支上即可。
合併分支命令格式:git merge 分支名


例如:
由前面的操作可知,當前分支 feature_sum 下增加了 test_sum.cpp 文件,可以通過切換分支查看master分支下的文件是否發生變化。

在這裏插入圖片描述


在這裏插入圖片描述


由上圖可知,master分支下並未增加 test_sum.cpp 文件,這時通過合併分支操作就可以增加feature_sum分支下的 test_sum.cpp 文件。
注意: 若將 feature_sum 分支合併到master分支,此時當前分支狀態需要在master分支下。


使用合併分支命令:git merge feature_sum ,結果如下圖所示,可以發現master分支下增加了test_sum.cpp文件,表示合併分支操作成功。


在這裏插入圖片描述




4 解決合併分支產生的衝突


合併分支的時候可能會產生衝突,下面舉一個例子進行說明:
上一個操作合併分支,則master分支下的文件和feature_sum分支下的文件相同。假設用戶A對master分支下 test_sum.cpp 文件進行修改然後提交到倉庫,用戶B對feature_sum分支test_sum.cpp文件進行修改然後提交到倉庫。用戶A和用戶B對同一個文件進行修改,那麼修改的文件內容在合併時會產生衝突,系統不知道該如何操作,則會出現報錯,此時就需要人工修改文件來解決衝突。


下面通過實際操作來說明解決衝突。


(1) master分支下修改 test_sum.cpp 文件,然後提交到倉庫,結果如下圖所示:

在這裏插入圖片描述



(2) feature_sum分支下修改test_sum.cpp文件,然後提交到倉庫

在這裏插入圖片描述



(3) 合併分支(feature_sum分支合併到master分支)

在這裏插入圖片描述


如上圖所示,合併分支時出現衝突,提示 test_sum.cpp 文件出現衝突,並且此時還處於合併狀態,這是需要解決衝突,通過命令: vim test_sum.cpp 打開該文件查看衝突,如下圖所示:

在這裏插入圖片描述


test_sum.cpp 文件中 <<<<<<< HEAD 提示符 、====== 分隔符和 >>>>>> feature_sum提示符 刪除,然後修改內容,如下圖所示:

在這裏插入圖片描述


接着,修改文件後保存退出 ——> 解決衝突後的文件提交到暫存區 ——> 解決衝突後的文件提交到倉庫,結果如下圖所示:

在這裏插入圖片描述


由上圖可以看出,合併時出現衝突時,系統處於合併狀態,此時需要查看衝突文件,然後修改衝突,將文件提交到暫存區,然後提交到倉庫即可完成合並。



下面對解決合併衝突進行總結:

解決衝突的步驟(當前一直處於合併狀態):

  1. 第一步:編輯文件,刪除/修改衝突部分,保存退出;
  2. 第二步:重新提交文件至暫存區: git add 文件名
  3. 第三步:重新提交文件至倉庫: git commit -m “提交描述”
    注意: 此時commit後不能帶具體的文件名,因爲當前一直處在合併狀態,默認提交的是當前衝突的文件。




5 刪除分支


合併分支結束後,可以刪除分支,刪除分支命令格式:git branch -d 分支名


如下圖所示,使用命令:git branch -d feature_sum 刪除 feature_sum 分支,結果如下圖所示:

在這裏插入圖片描述




6 小結

分支管理中常用的命令如下:

  1. 創建分支命令格式:git branch 分支名
  2. 查看分支命令格式:git branch -v
  3. 切換分支命令格式:git checkout 分支名
  4. 合併分支命令格式:git merge 分支名
      注: 需要注意當前所在分支
  5. 刪除分支命令格式:git branch -d 分支名






參考資料

[1] https://www.bilibili.com/video/BV1bs411N7ny?p=7
[2] https://www.bilibili.com/video/BV1pW411A7a5?p=24



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章