IDEA中解決 git pull 沖突的方法
0.事先準(zhǔn)備。
1)把遠(yuǎn)程倉(cāng)庫(kù)的README.md內(nèi)容改寫(xiě)為bbb(原先為aaa)。
2)本地倉(cāng)庫(kù)的README.md內(nèi)容改寫(xiě)為ccc(原先也為aaa)。
以此來(lái)模仿代碼沖突。
1.先commit 再pull
pull的時(shí)候會(huì)提示有沖突,需要你進(jìn)行手動(dòng)merge
Accept Yours 就是直接選取本地的代碼,覆蓋掉遠(yuǎn)程倉(cāng)庫(kù)的
Accept Theirs 是直接選取遠(yuǎn)程倉(cāng)庫(kù)的,覆蓋掉自己本地的
我們選擇Merge,自己手動(dòng)行進(jìn)選擇、修改。
這里左邊部分是你本地倉(cāng)庫(kù)的代碼,右邊部分是遠(yuǎn)程倉(cāng)庫(kù)的代碼,中間的result就是你修改之后的結(jié)果。左下角的Accept Left 和
Accept Right其實(shí)就相當(dāng)于是之前的 Accept Yours 和 Accept Theirs 右下角的Apply是確認(rèn)合并,Abort是取消合并。
我們?cè)趓esult中修改好自己想要merge的代碼,然后點(diǎn)擊Apply。
點(diǎn)yes.
這樣我們就解決了沖突,解決完沖突后記得要再commit一次,分別更新本地和遠(yuǎn)程倉(cāng)庫(kù)的代碼
這里我們可以選擇commit and push
點(diǎn)擊push
可以看到已經(jīng)push成功了,此時(shí)我們?cè)俨榭聪逻h(yuǎn)程倉(cāng)庫(kù)的README.md和本地倉(cāng)庫(kù)的README.md
確實(shí)都已經(jīng)更新成功了。
2.有些同學(xué)喜歡先pull,再commit 和push
還是回到原來(lái)的事先準(zhǔn)備,現(xiàn)在遠(yuǎn)程倉(cāng)庫(kù)的README為bbb,本地我改成ccc,這次先不commit,我們先來(lái)pull
pull的時(shí)候我們會(huì)發(fā)現(xiàn)右下角有提示說(shuō)pull failed(這是肯定的啦,因?yàn)槲覀兇a沖突了嘛)
我們選擇項(xiàng)目右鍵--Git--Repository--Stash Changes
在Message中隨便取個(gè)名字,然后點(diǎn)擊Create Stash。
以上幾步的操作,其實(shí)就是把你在本地做的改變,通過(guò)stash先在git棧中保存起來(lái)(因?yàn)槟銢](méi)有commit嘛,對(duì)比先commit再pull,你會(huì)發(fā)現(xiàn) 先commit再pull會(huì)比較方便,(commit操作就是類(lèi)似于把改變先存起來(lái)吧。。個(gè)人理解、、))。
stash完后你會(huì)發(fā)現(xiàn)你本地進(jìn)行的一些修改都已經(jīng)不存在了,README文件也回到了之前的aaa(而不是修改后的ccc)
這樣我們就可以和遠(yuǎn)程倉(cāng)庫(kù)合并了,(我們已經(jīng)把沖突先去掉了)。git pull 順利成功。
pull完以后我們查看README.md發(fā)現(xiàn)此時(shí)的內(nèi)容就是遠(yuǎn)程倉(cāng)庫(kù)的bbb
現(xiàn)在我們?cè)侔阎氨4娴母娜〕鰜?lái)
選擇項(xiàng)目右鍵--Git--Repository--UnStash Changes
選擇剛剛我們命名的那個(gè)更改記錄,我這里就是第一個(gè)。
然后我們點(diǎn)Apply Stash,來(lái)到如下窗口,提示有代碼沖突
有沒(méi)有覺(jué)得這個(gè)這個(gè)窗口似曾相識(shí)!!
這跟我們先commit再pull 出來(lái)的窗口一模一樣嘛!
我們直接選擇Merge
又是似曾相識(shí)的感覺(jué),有沒(méi)有!(所以我個(gè)人感覺(jué)其實(shí)如果你沒(méi)有先commit就pull的話(huà),你就要通過(guò)stash和unstash把改變先保存起來(lái)然后再取出來(lái),這一步其實(shí)就相當(dāng)于commit吧(、、、我覺(jué)得這樣理解沒(méi)毛病~~))。
接下來(lái)要做的還是老樣子,我們?cè)趓esult中修改自己想要合并的代碼(但是我這里好像有個(gè)bug,result的代碼改了之后都沒(méi)了,不知道什么原因,之前先commit再pull到這一步就沒(méi)有這個(gè)問(wèn)題。所以我是在result中把本地和遠(yuǎn)程的代碼都選上了)
然后我們點(diǎn)擊Apply,把沖突解決。
別忘了commit和push。
push完我們查看遠(yuǎn)程倉(cāng)庫(kù)和本地倉(cāng)庫(kù)都更新成了bbb ccc
到此這篇關(guān)于IDEA中解決 git pull 沖突的方法的文章就介紹到這了,更多相關(guān)IDEA git pull 沖突內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法2. asp批量添加修改刪除操作示例代碼3. jsp實(shí)現(xiàn)登錄驗(yàn)證的過(guò)濾器4. JavaWeb Servlet中url-pattern的使用5. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))6. 微信開(kāi)發(fā) 網(wǎng)頁(yè)授權(quán)獲取用戶(hù)基本信息7. 詳解瀏覽器的緩存機(jī)制8. ASP中實(shí)現(xiàn)字符部位類(lèi)似.NET里String對(duì)象的PadLeft和PadRight函數(shù)9. HTML5 Canvas繪制圖形從入門(mén)到精通10. css代碼優(yōu)化的12個(gè)技巧
