假設你和我正在共同編輯同一個名稱為 index.html
的檔案。我對文件進行了修改,進行了提交,並將更改推送到 Git 遠端倉庫。你也對同一個文件進行了修改,進行了提交,並開始將更改推送到同一個 Git 倉庫。然而,Git 偵測到一個衝突,因為你所做的變更與我所做的變更衝突。
以下是你可以解決衝突的方法:
1、從遠端倉庫取得並合併最新變更:
$ git pull
2、識別一個或多個有衝突的文件:
$ git status
3、使用文字編輯器開啟衝突檔案:
$ vim index.html
4、解決衝突。衝突的修改會標示為 <<<<<<< HEAD
與
。你需要選擇要保留和放棄哪些修改,並手動編輯文件以合併衝突的修改。
以下是一個範例:<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><<<<<<< HEAD<div ><h1>Sample text 1</h1></div>=======<div ><h1>Sample text 2</h1></div>>>>>>>> feature-branch</pre><div class="contentsignin">登入後複製</div></div>
在這個範例中,我將網站標題改為 Sample text 1
,而你將標題改為
。兩種變更都已新增至文件。現在你可以決定保留哪一個標題,或編輯文件合併更改。在任一情況下,刪除指示更改開始和結束的標記,只留下你想要的程式碼:
<div ><h1>Sample text 2</h1></div>
5、儲存所有更改,並關閉編輯器。
6、將檔案新增至暫存區:
$ git add index.html
7、提交變更:<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$ git commit -m "Updated h1 in index.html"</pre><div class="contentsignin">登入後複製</div></div>
此指令使用訊息
提交更改。
$ git push
#結論
###合併衝突是將注意力集中於程式碼的好理由。你在文件中進行的更改越多,就越容易產生衝突。你應該進行更多的提交,每個提交更改應該更少。你應該避免進行包含多個特性增強或錯誤修復的單片巨大變更。你的專案經理也會感謝你,因為有清晰意圖的提交更容易追蹤。當你第一次遇到Git合併衝突時,可能會覺得很恐懼,但現在你已經掌握了解決方法,會發現解決它很容易。 ###以上是如何解決 Git 合併衝突的詳細內容。更多資訊請關注PHP中文網其他相關文章!