1城看、執(zhí)行merge后一直顯示merging狀態(tài)瘤袖,
當(dāng)用命令行或vscode執(zhí)行merge操作時(shí)艾扮,出現(xiàn)的文件沖突可能不會提示出來讓我們選擇泡嘴,需要我們手動(dòng)的操作磺箕,下面是合并沖突的兩種情況
1.1松靡、同行代碼競爭
當(dāng)你和另一個(gè)程序員修改了某文件的同一行代碼击困,產(chǎn)生的代碼沖突阅茶,必須用一個(gè)新的代碼提交來解決這個(gè)合并沖突,只有這樣撞蜂,合并才能完成蝌诡。在webstorm中我們通過選擇完提示框中出現(xiàn)的沖突代碼后,會發(fā)現(xiàn)提交記錄中出現(xiàn)
當(dāng)用命令行或者vscode時(shí),或者沒有提示出沖突代碼,我們需要:
(1)打開Git Bash
(2)進(jìn)入發(fā)生代碼沖突的本地Git倉庫(默認(rèn)就會進(jìn)入到當(dāng)前倉庫)
(3)獲取受到合并沖突印象的文件列表:git status
如果有沖突,小黑框里會出現(xiàn)沖突的文件
(4)打開編譯器查找羡微,查找“<<<<<<<”標(biāo)記符出現(xiàn)的地方來定位合并沖突發(fā)生的位置
<<<<<<< HEAD //標(biāo)志沖突發(fā)生的位置
(你的代碼)
======= // 分割符號
(另一個(gè)人的代碼)
>>>>>>> BRANCH-NAME(branch-a) // 沖突位置結(jié)束,另一個(gè)人提交的代碼是在branch-a對比分支上
(5)刪除沖突標(biāo)記符“<<<<<<<”盯蝴,“=======”虑绵,“>>>>>>>”,并對文件完成你想要的修改
(6)git add .
(7)git commit
(8)分支合并操作捕发,或者將修改推送至Github遠(yuǎn)程倉庫,并在一個(gè)pull request中完成合并操作法挨。
1.2帝蒿、文件刪除引起的合并沖突
例如有人編輯了被另一個(gè)人刪除的文件丛版,你必須決定該文件究竟應(yīng)該被刪除還是保留在項(xiàng)目分支中页畦。
(1)git bash 豫缨、git status
(2)決定是刪除,還是保留:
刪除:git rm 文件名
保留:git add 文件名
(3)git commit
(4)分支合并操作好芭,或者將修改推送至Github遠(yuǎn)程倉庫燃箭,并在一個(gè)pull request中完成合并操作。