簡體   English   中英

只提交階段/索引,忽略沖突

[英]Commit only stage/index, ignoring conflicts

我的承諾很大,我很挑剔。 現在,選拔會創建沖突總數(在工作樹中)。 現在,我想提交所有已分階段(成功合並)的更改,而不必解決所有沖突。

我一直很天真地以為,提交只會在舞台上起作用,但是當我嘗試時,我得到的信息是,如果不解決沖突,我將無法提交。

有人可以向我解釋發生了什么以及如何解決。

您必須解決沖突,因為僅在git無法自動合並分支時才發生沖突。 它們通常在兩次單獨的提交中修改同一行時發生。

主分支:

L1. git
L2. is
L3. awesome

分支A和B從主分支

提交x應用於分支A

L1. git
L2. is not
L3. awesome

差異

 git
-is
+is not
 awesome

承諾應用於分支機構B

L1. git
L2. isn't
L3. awesome

差異

 git
-is
+isn't
 awesome

當您合並分支A並隨后嘗試將分支B合並到master中時,git無法確定要為L2放置的內容。 在解決沖突的同時,您必須做出決定。

如何解決沖突

解決最簡單的方法是選擇要保留的文件版本。

選擇當前分支(HEAD)上文件的版本

git checkout --ours <filename>

要選擇另一個分支(您從中提取/櫻桃選擇的分支,可能是遠程分支)上的文件版本:

git checkout --theirs <filename>

或者,您可以一個一個地編輯文件並刪除沖突標記( <<<<<<<======= >>>>>>> ),然后選擇要使用的版本

之后,您需要通過執行以下操作將它們標記為已解決:

git add <filename>

提示:可以使用. 作為文件名,以選擇當前目錄下的所有文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM