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)吧。。個(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的話,你就要通過(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. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)財(cái)務(wù)記賬管理系統(tǒng)2. Java 生成帶Logo和文字的二維碼3. asp讀取xml文件和記數(shù)4. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案5. XHTML 1.0:標(biāo)記新的開(kāi)端6. python中的socket實(shí)現(xiàn)ftp客戶端和服務(wù)器收發(fā)文件及md5加密文件7. xml中的空格之完全解說(shuō)8. python 實(shí)現(xiàn)圖片修復(fù)(可用于去水印)9. 怎樣才能用js生成xmldom對(duì)象,并且在firefox中也實(shí)現(xiàn)xml數(shù)據(jù)島?10. Javaweb工程運(yùn)行報(bào)錯(cuò)HTTP Status 404解決辦法
