溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何解決git pull時(shí)沖突問題

發(fā)布時(shí)間:2020-07-27 09:19:34 來源:億速云 閱讀:890 作者:小豬 欄目:開發(fā)技術(shù)

小編這次要給大家分享的是如何解決git pull時(shí)沖突問題,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

僅結(jié)合本人使用場(chǎng)景,方法可能不是最優(yōu)的

1. 忽略本地修改,強(qiáng)制拉取遠(yuǎn)程到本地

主要是項(xiàng)目中的文檔目錄,看的時(shí)候可能多了些標(biāo)注,現(xiàn)在遠(yuǎn)程文檔更新,本地的版本已無用,可以強(qiáng)拉

git fetch --all
git reset --hard origin/dev
git pull

關(guān)于commit和pull的先后順序,commit——》pull——》push 和 pull——》commit——》push的順序,兩種情況都遇到過代碼沖突。解決方法如下:

2. 未commit先pull,視本地修改量選擇revert或stash

// 場(chǎng)景
同事 有新提交
我 沒有pull -> 修改了文件 -> pull -> 提示有沖突

2.1 本地修改量小

如果本地修改量小,例如只修改了一行,可以按照以下流程

-> revert(把自己的代碼取消) -> 重新pull -> 在最新代碼上修改 -> [pull確認(rèn)最新] -> commit&push

如何解決git pull時(shí)沖突問題

2.2 本地修改量大,沖突較多

有兩種方式處理

-> stash save(把自己的代碼隱藏存起來) -> 重新pull -> stash pop(把存起來的隱藏的代碼取回來 ) -> 代碼文件會(huì)顯示沖突 -> 右鍵選擇edit conficts,解決后點(diǎn)擊編輯頁面的 mark as resolved-> commit&push

-> stash save(把自己的代碼隱藏存起來) -> 重新pull -> stash pop(把存起來的隱藏的代碼取回來 ) -> 代碼文件會(huì)顯示沖突 -> 右鍵選擇resolve conflict -> 打開文件解決沖突 ->commit&push

另外,由于我是通過IDEA來操作git的,所以顯示沖突時(shí),我是在圖形化界面操作的示意如下

如何解決git pull時(shí)沖突問題

3. 已commit未push,視本地修改量選擇reset或直接merge

// 場(chǎng)景
同事 有新提交
我 沒有pull -> 修改了文件 -> commit -> pull -> 提示有沖突

3.1 修改量小,直接回退到未提交的版本(可選擇是否保存本地修改)

如果本地修改量小,例如只修改了一行,可以按照以下流程

-> reset(回退到未修改之前,選hard模式,把自己的更改取消) -> 重新pull -> 在最新代碼上修改 -> [pull確認(rèn)最新] -> commit&push

ps:實(shí)際上完全可以采取直接merge的方法,這里主要是根據(jù)盡量避免merge的原則,提供一種思路

如何解決git pull時(shí)沖突問題

如何解決git pull時(shí)沖突問題

3.2 修改量大,直接merge,再提交(目前常用)

-> commit后pull顯示沖突 -> 手動(dòng)merge解決沖突 -> 重新commit -> push

如何解決git pull時(shí)沖突問題

看完這篇關(guān)于如何解決git pull時(shí)沖突問題的文章,如果覺得文章內(nèi)容寫得不錯(cuò)的話,可以把它分享出去給更多人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI