IDEA中解決 git pull 沖突的方法
0.事先準備。
1)把遠程倉庫的README.md內容改寫為bbb(原先為aaa)。
2)本地倉庫的README.md內容改寫為ccc(原先也為aaa)。
以此來模仿代碼沖突。
1.先commit 再pull
pull的時候會提示有沖突,需要你進行手動merge
Accept Yours 就是直接選取本地的代碼,覆蓋掉遠程倉庫的
Accept Theirs 是直接選取遠程倉庫的,覆蓋掉自己本地的
我們選擇Merge,自己手動行進選擇、修改。
這里左邊部分是你本地倉庫的代碼,右邊部分是遠程倉庫的代碼,中間的result就是你修改之后的結果。左下角的Accept Left 和
Accept Right其實就相當于是之前的 Accept Yours 和 Accept Theirs 右下角的Apply是確認合并,Abort是取消合并。
我們在result中修改好自己想要merge的代碼,然后點擊Apply。
點yes.
這樣我們就解決了沖突,解決完沖突后記得要再commit一次,分別更新本地和遠程倉庫的代碼
這里我們可以選擇commit and push
點擊push
可以看到已經push成功了,此時我們再查看下遠程倉庫的README.md和本地倉庫的README.md
確實都已經更新成功了。
2.有些同學喜歡先pull,再commit 和push
還是回到原來的事先準備,現在遠程倉庫的README為bbb,本地我改成ccc,這次先不commit,我們先來pull
pull的時候我們會發現右下角有提示說pull failed(這是肯定的啦,因為我們代碼沖突了嘛)
我們選擇項目右鍵--Git--Repository--Stash Changes
在Message中隨便取個名字,然后點擊Create Stash。
以上幾步的操作,其實就是把你在本地做的改變,通過stash先在git棧中保存起來(因為你沒有commit嘛,對比先commit再pull,你會發現 先commit再pull會比較方便,(commit操作就是類似于把改變先存起來吧。。個人理解、、))。
stash完后你會發現你本地進行的一些修改都已經不存在了,README文件也回到了之前的aaa(而不是修改后的ccc)
這樣我們就可以和遠程倉庫合并了,(我們已經把沖突先去掉了)。git pull 順利成功。
pull完以后我們查看README.md發現此時的內容就是遠程倉庫的bbb
現在我們再把之前保存的更改取出來
選擇項目右鍵--Git--Repository--UnStash Changes
選擇剛剛我們命名的那個更改記錄,我這里就是第一個。
然后我們點Apply Stash,來到如下窗口,提示有代碼沖突
有沒有覺得這個這個窗口似曾相識!!
這跟我們先commit再pull 出來的窗口一模一樣嘛!
我們直接選擇Merge
又是似曾相識的感覺,有沒有!(所以我個人感覺其實如果你沒有先commit就pull的話,你就要通過stash和unstash把改變先保存起來然后再取出來,這一步其實就相當于commit吧(、、、我覺得這樣理解沒毛病~~))。
接下來要做的還是老樣子,我們在result中修改自己想要合并的代碼(但是我這里好像有個bug,result的代碼改了之后都沒了,不知道什么原因,之前先commit再pull到這一步就沒有這個問題。所以我是在result中把本地和遠程的代碼都選上了)
然后我們點擊Apply,把沖突解決。
別忘了commit和push。
push完我們查看遠程倉庫和本地倉庫都更新成了bbb ccc
到此這篇關于IDEA中解決 git pull 沖突的方法的文章就介紹到這了,更多相關IDEA git pull 沖突內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: