終止 Git 合併

Ashok Chapagai 2022年12月19日 2021年12月24日
終止 Git 合併

例如,Mario 想從遠端倉庫中將最新更改拉到名為 save-princess 的倉庫中。Mario 使用 git pull origin branch1,但由於 Luigi 在遠端倉庫 save-princess 中修改了本地更改的檔案,因此引發了合併衝突錯誤。

合併衝突也會發生,例如,如果 Luigi 在與 Mario 相同的行上編輯了相同的檔案,或者 Luigi 刪除了 Mario 正在編輯的檔案,或者即使 Mario 嘗試新增相同的檔案與 Luigi 已新增的名稱相同。如果在 git pull 期間發生合併衝突,Git 將顯示一條訊息。簡單來說,當兩個更改影響同一行上的同一個檔案時,就會發生合併衝突。

以下是解決合併衝突的幾種方法,

在 Git 中通過隱藏更改來解決合併衝突

解決衝突的一種方法是儲存本地所做的更改,然後在合併衝突消失後再次恢復儲存的更改。這可以通過以下方式實現:

  • 隱藏更改
    git stash
    
  • 從遠端倉庫中獲取更改。
    git fetch
    
    git pull origin save-princess
    

    在這裡,save-princess 是本地和遠端倉庫中存在的分支的名稱。

  • 彈出隱藏的更改
    git stash pop
    

如果合併後出現任何問題,你始終可以在合併前恢復當前的更改。

要中止合併,你可以使用:

git merge --abort

上面的命令類似於 reset,它在合併之前將我們的提交重置為當前版本。

git reset --hard
Ashok Chapagai avatar Ashok Chapagai avatar

Ashok is an avid learner and senior software engineer with a keen interest in cyber security. He loves articulating his experience with words to wider audience.

LinkedIn GitHub

相關文章 - Git Merge