git pull时冲突的几种解决方式
生活随笔
收集整理的這篇文章主要介紹了
git pull时冲突的几种解决方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
僅結合本人使用場景,方法可能不是最優的
1. 忽略本地修改,強制拉取遠程到本地
主要是項目中的文檔目錄,看的時候可能多了些標注,現在遠程文檔更新,本地的版本已無用,可以強拉
git fetch --allgit reset --hard origin/devgit pull關于commit和pull的先后順序,commit——》pull——》push 和 pull——》commit——》push的順序,兩種情況都遇到過代碼沖突。解決方法如下:
2. 未commit先pull,視本地修改量選擇revert或stash
// 場景 同事 有新提交 我 沒有pull -> 修改了文件 -> pull -> 提示有沖突2.1 本地修改量小
如果本地修改量小,例如只修改了一行,可以按照以下流程
-> revert(把自己的代碼取消) -> 重新pull -> 在最新代碼上修改 -> [pull確認最新] -> commit&push2.2 本地修改量大,沖突較多
有兩種方式處理
-> stash save(把自己的代碼隱藏存起來) -> 重新pull -> stash pop(把存起來的隱藏的代碼取回來 ) -> 代碼文件會顯示沖突 -> 右鍵選擇edit conficts,解決后點擊編輯頁面的 mark as resolved-> commit&push -> stash save(把自己的代碼隱藏存起來) -> 重新pull -> stash pop(把存起來的隱藏的代碼取回來 ) -> 代碼文件會顯示沖突 -> 右鍵選擇resolve conflict -> 打開文件解決沖突 ->commit&push另外,由于我是通過IDEA來操作git的,所以顯示沖突時,我是在圖形化界面操作的示意如下
3. 已commit未push,視本地修改量選擇reset或直接merge
// 場景 同事 有新提交 我 沒有pull -> 修改了文件 -> commit -> pull -> 提示有沖突?3.1 修改量小,直接回退到未提交的版本(可選擇是否保存本地修改)
如果本地修改量小,例如只修改了一行,可以按照以下流程??
-> reset(回退到未修改之前,選hard模式,把自己的更改取消) -> 重新pull -> 在最新代碼上修改 -> [pull確認最新] -> commit&pushps:實際上完全可以采取直接merge的方法,這里主要是根據盡量避免merge的原則,提供一種思路
3.2 修改量大,直接merge,再提交(目前常用)
-> commit后pull顯示沖突 -> 手動merge解決沖突 -> 重新commit -> push?
轉載于:https://www.cnblogs.com/zjfjava/p/10280247.html
總結
以上是生活随笔為你收集整理的git pull时冲突的几种解决方式的全部內容,希望文章能夠幫你解決所遇到的問題。