Git--分支管理
阿新 • • 發佈:2018-11-08
分支管理
主分支
最開始,專案只有一條分支叫主分支,即master分支,HEAD嚴格來說不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是當前分支。
基本指令
- git branch:檢視分支
- git branch <name>:建立分支
- git checkout <name>:切換分支
- git checkout -b <name>:建立+切換分支
- git merge <name>:合併某分支到當前分支
- git branch -d <name>:刪除分支
解決衝突
在dev分支開發並且提交檔案後,轉向主分支開發。主分支提交一次檔案後,想要將dev分支融合到主分支,這個時候master分支和dev分支的檔案極有可能產生衝突,主分支執行 git merge dev 命令後,會提示:
自動合併 file1
衝突(內容):合併衝突於 file1
自動合併失敗,修正衝突然後提交修正的結果。
這個時候就需要手動合併衝突檔案,此時檢視衝突檔案可以發現衝突內容加了識別符號分隔開:
<<<<<<< HEAD ======= >>>>>>> feature1
衝突合併後,git add file ,git commit 提交即可。
git log --graph --pretty=oneline --abbrev-commit
管理策略
分支融合時,Git預設會使用 Fast forward 模式。
[email protected]:/home/xinje/Project/test# git merge dev
更新 81cda97..01ddbd8
Fast-forward
file1 | 1 +
1 file changed, 1 insertion(+)
[email protected]:/home/xinje/Project/test# git merge --no-ff -m "merge with no-ff" dev
Merge made by the 'recursive' strategy.
file1 | 1 +
1 file changed, 1 insertion(+)