1.簡單分支管理的沖突解決:
當(dāng)我們在master和feature1兩個(gè)分支上都對同一個(gè)文件進(jìn)行了修改提交后,現(xiàn)在我們要合并分支,這時(shí)git無法進(jìn)行快速合并,可能會有沖突,我們可以使用git status查看也可以直接查看文件(git會自動標(biāo)識)
沖突示意圖
解決辦法:
A.在文件中選擇一個(gè)版本保留,刪除有沖突不需要保存的部分內(nèi)容后,保存文件
B.再次提交(add,commit)
C.刪除feature1分支
解決沖突后的分支圖
注:可用git log --graph命令可以看到分支合并圖。
2.多人協(xié)作時(shí)的沖突解決
當(dāng)你的小伙伴將本地dev上的一個(gè)文件push到origin/dev上后,而碰巧你也修改了同一個(gè)文件打算push到遠(yuǎn)程,但此時(shí)會和你的小伙伴的提交有沖突。
解決辦法:
A.用git pull把最新的提交從origin/dev上抓取下來(第一次pull可能會失敗,git可能會提示你沒有指定本地的dev和origin/dev的鏈接,一般根據(jù)提示采用$ git branch--set-upstream dev origin/dev 建立鏈接,再次使用gtit pull)
B.現(xiàn)在你已經(jīng)成功的拉取了遠(yuǎn)程最新的提交,但是合并有沖突,需要像上一例中手動解決,解決后再次提交(commit)
C.提交成功后就可以push到遠(yuǎn)程啦
git 命令總結(jié):
create
local changes
commit history
branches & tags
update & publish
merge & rebase
undo