git解決衝突 刪除本地 Git衝突與解決方法

2021-10-13 06:41:54 字數 1123 閱讀 3562

1、git衝突的場景

情景一:多個分支**合併到乙個分支時;

情景二:多個分支向同乙個遠端分支推送**時;

實際上,push操作即是將本地**merge到遠端庫分支上。

關於push和pull其實就分別是用本地分支合併到遠端分支 和 將遠端分支合併到本地分支

所以這兩個過程中也可能存在衝突。

git的合併中產生衝突的具體情況:

<1>兩個分支中修改了同乙個檔案(不管什麼地方)

<2>兩個分支中修改了同乙個檔案的名稱

兩個分支中分別修改了不同檔案中的部分,不會產生衝突,可以直接將兩部分合併。

2、衝突解決方法

情景一:在當前分支上,直接修改衝突**--->add--->commit。

情景二:在本地當前分支上,修改衝突**--->add--->commit--->push

注:借用vim或者ide或者直接找到衝突檔案,修改。

3、實戰演示

(1)情景

本地庫中兩個不同分支,修改同乙個檔案同一**塊,兩分支先後將修改合併到master分支上,master在合併第二個分支**時,報錯:合併衝突。

(2)本地庫

<1>master分支

<2>建立兩個分支

<3>兩分支修改提交

abranch分支:

bbranch分支:

(3)合併分支產生衝突

合併abranch分支(將abranch分支合併到當前master分支上):

注:git merge:預設情況下,git執行"快進式合併"(fast-farward merge),會直接將master分支指向develop分支。

使用--no-ff引數後,會執行正常合併,在master分支上生成乙個新節點。為了保證版本演進的清晰,建議採用這種方法。

再合併bbranch分支,產生衝突:

mergetest.txt 檔案內容:

(4)解決衝突

--->在當前分支上(master),找到衝突檔案,直接修改衝突**,add,commit。

注:簡單方法,使用vim修改,cat檢視衝突檔案。(注意要刪除git自動生成的衝突**分隔符)

(5)完成衝突解決

注:提交或者合併都會生成git節點。每個節點對應乙個**版本。

git合併衝突解決 本地合併衝突

feature分支合併到master起衝突,不要在gitlab上修改衝突,拉取在本地合併衝突 不在gitlab上修改合併的原因 在gitlab上合併會雙向合併兩次,會影響乙個不需要合併分支 命令順序 1.將feature分支的 全部上傳 2.切換分支到master git checkout mast...

git 找到衝突 git 衝突解決

用git pull來更新 的時候,遇到了下面的問題 出現這個問題的原因是其他人修改了 php並提交到版本庫中去了,而你本地也修改了 php,這時候你進行git pull操作就好出現衝突了,解決方法,在上面的提示中也說的很明確了。1 保留本地的修改 的改法 1 直接commit本地的修改 也一般不用這...

git解決non fast forward衝突

在使用git的過程中,我們總會遇到提交衝突問題。在今天更新git提交時,由於之前沒有更新分支,同時又提交了分支中的 而git不能在不丟失提交的情況下對遠端庫進行修改,這就導致了再次提交 是無法push成功的情況。git提交被拒絕,提示 non fast forward 解決方法 1.git fetc...