簡體   English   中英

有沒有辦法在不接觸分支的情況下強制Git合並沖突?

[英]Is there any way to force a Git merge conflict without touching branches?

情況:

我有一個分支master和一個分支feature 我想對feature進行更改並將其PR掌握,以將某些更改標記為合並沖突。

為了說明這一點,假設分支master有一個文件test.txt這樣。

foo

Feature看起來像這樣

bar
zed

我想從要素主創建一個PR,其中某些更改(例如,從foo到bar的更改)被標記為合並沖突,必須手動解決。 同時,某些更改(例如添加zed)未標記為沖突。 本質上,在關閉PR之前,我需要對此類沖突進行標記並解決的手動干預,但我不希望所有更改都得到審查。

有什么辦法嗎? 可能通過手動將git沖突標記寫入功能?

有什么辦法嗎?

僅通過創建實際沖突。

可能有沖突的合並1具有三個輸入:

  1. 合並基礎:例如,對於git merge ,其他兩個提交從其降級的公共提交,或者對於git cherry-pickgit revert ,是人為選擇的提交;
  2. 當前提交HEAD--ours ,有時是local );
  3. 其他提交(有時稱為otherremote--theirs )。

在以下情況下發生低級(文件中)沖突

  • 從合並基礎到文件的當前副本的git diff --find-renames輸出中看到的某些文件有所不同, 並且
  • 從合並基礎到另一個提交的git diff --find-renames輸出中看到的相同文件中git diff --find-renames並且
  • 這些變化觸及相同的線條,或者以其他方式鄰接(一個的結尾是另一個的開頭)。

在這種特殊情況下,當Git嘗試合並兩組更改時,更改將發生沖突,並且您會看到沖突,除非您使用-Xours-Xtheirs自動從兩個沖突的更改中選擇一個。

(高級沖突也具有相同的三個輸入,但是發生在例如diff的一側修改文件,而另一側刪除文件時。沒有沖突的線集,但是仍然存在沖突:Git應該保留修改后的文件,還是完全刪除文件?)


1任何真正的合並(我指的是合並過程或作為動詞合並的過程)都可能有沖突。 此處的措辭旨在說明git merge在執行快進操作時有時不執行合並的事實。

暫無
暫無

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

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