在Git 中合併與強制覆蓋| D棧- Delft Stack

文章推薦指數: 80 %
投票人數:10人

大多數時候,當我們應用 git push 或 git merge 時,最終會發生一些衝突。

在某些情況下,合併衝突的解決方案就像丟棄本地更改或遠端或其他分支更改一樣 ... Git貼士 GitHEAD^vsGitHEAD~vsGitHEAD{@} GitSwitch和Checkout的區別 Git中列出子模組 IntelliJIDEA中的GitStash與Shelve 在Git中獲取程式碼的最新版本 將Meld設定為Git的Difftool和Mergetool 為Git設定SourceGearDiffMerge工具 配置代理以使用Git reportthisad 貼士文章 Git貼士 在Git中合併與強制覆蓋 大多數時候,當我們應用gitpush或gitmerge時,最終會發生一些衝突。

在某些情況下,合併衝突的解決方案就像丟棄本地更改或遠端或其他分支更改一樣簡單。

當Git無法弄清楚如何合併兩個衝突的更改時,它會建立一個衝突請求。

衝突請求是一種描述問題的特殊補丁,它包含衝突更改的雙方(我們的和他們的)以及合併嘗試的結果。

當兩個團隊成員處理相同的檔案並在該檔案中發生衝突時,Git將衝突應用於我們的工作檔案。

然後我們可以編輯生成的檔案,Git將記錄我們的更改。

如果確實發生了衝突更改,Git會將檔案標記為處於衝突狀態。

有幾個命令可以解決該特定分支中的衝突。

當兩個或更多人在同一個倉庫中處理同一個檔案時,衝突最常見。

但是,當在檔案中發現衝突時,Git會非常聰明和聰明地以非常棒的方式解決衝突。

Git使用衝突標記來顯示檔案的哪些部分發生衝突。

衝突標記是放置在檔案衝突部分兩側的小雜湊。

拉不單獨使用。

它在從遠端伺服器獲取資料的幫助下使用,然後與本地倉庫中的更改應用合併。

如果我們願意,可以執行下面提到的這兩個操作。

gitfetch gitmergeorigin/$CURRENT_BRANCH 上面提到的origin/$CURRENT_BRANCH的含義如下。

Git將應用合併選項並應用來自遠端倉庫的更改,即origin。

這被新增到$CURRENT_BRANCH 目前在我們本地簽出的分支機構中不存在 gitpull不僅是推薦的,它只是執行gitfetch後跟gitmerge。

我們將進行3次合併,通過這些合併,Git將執行3次fetch操作,其中一次fetch就是我們所需要的。

gitfetchorigin#itwillupdateallourorigin/*remote-trackingbranches gitcheckoutnewbranch gitmergeorigin/newbranch gitcheckoutmaster gitmergeorigin/master gitmerge-Xtheirsnewbranch gitpushoriginmaster 上面提到的命令將有效地忽略我們要合併的分支上的任何不同更改,並在我們要合併到的分支上開發一個新的提交,所有提交都在該分支上合併。

我們還可以在普通合併中使用--ours來合併我們要合併的分支中的所有更改,然後跳過我們要合併到的分支中存在的任何檔案,有效地在兩者之間進行三向合併分支,然後只使用要合併到的分支中的檔案。

PleaseenableJavaScript中國八字2023黑水兔 我們發現使用gitmerge--ours合併檔案然後使用gitrebase-i手動重新應用我要合併的分支中的更改要容易得多。

上述命令不適用於有衝突的檔案,但我們發現以下命令可以解決衝突。

gitcheckoutfile_with_conflict gitmerge--ours--no-commitfile_from_branch_with_conflict gitreset--hardgitaddfile_with_conflictgitcommit-m 相關文章-GitMerge 在Git中合併檔案而不自動提交 在Git中刪除已合併的分支 Git合併倉庫 Git撤消合併 在Git中合併本地分支在Git中將提交移動到另一個分支 xx



請為這篇文章評分?