git 解決衝突

來源:互聯網
上載者:User

標籤:

向遠程倉庫pull一個項目,提示和本地檔案有衝突,需要合并才能進行後面的操作,於是這時候 ours和theirs這兩個操作就派上用場了

$ git checkout --ours .                      保留自己原來的版本, 拋棄遠程pull下來的版本(的所有有衝突的檔案) ,或者:$ git checkout --ours 檔案名稱1 檔案名稱2                         這樣只針對部分檔案。$ git checkout --theirs .                    保留遠端版本,拋棄自己本地的版本


###解決衝突的終極辦法

發現又一個解決方案,因為如果按照上面的方法去做的話,會發現現在的分支還是master | MERGING 這種狀態,執行如下命令可以完全丟棄本地的修改:

$ git reset --hard origin/master

另外一種方法,我們不能丟棄本地修改,因為其中的某些內容的確是我們需要的,此時需要對unmerged的檔案進行手動修改(手動修改的意思是開啟這個檔案,“手動”修改),刪掉其中衝突的部分,然後運行如下命令

$ git add filename$ git commit -m "message"

還有,如果我們覺得合并以後的檔案內容比價混亂,想要廢棄這次合并,回到合并之前的狀態,那麼可以運行如下命令:

    $:git reset --hard HEAD
###注意的地方

1、當刪除本地檔案並同時需要刪除遠程檔案的時候,直接刪除,然後 git add,git commit ,git push就可以把遠端檔案刪掉了。

2、當遠程檔案比本地檔案要少,但是並沒有衝突的時候,直接git pull會直接刪除本地在遠程上面沒有的檔案。


git 解決衝突

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.