在 GitHub 中,如何在 PR 中進行雙向合并,以便不會洗掉目標分支中未在源分支中明確洗掉的任何行?
我附上了來自 GitHub PR 的螢屏截圖,顯示了該問題。
作為 PR 的一部分,我想:
(1)優先考慮從源分支(右)到目標分支(左)的改變行;
(2) 維護目標分支(左)中未在源分支(右)中顯式洗掉的所有行
問題是 GitHub 似乎只是從源分支(左)中洗掉了目標分支(右)中未包含的任何行,而我想將組合合并在一起。
如果這不能直接在 GitHub 中實作,那么是否有可以與 GitHub 集成的工具來進行這種雙向合并?
謝謝。
github-pr-screenshot-merge-問題
uj5u.com熱心網友回復:
GitHub 使用 libgit2 進行合并,其作業方式與 Git 合并的方式相似但不完全相同。在這兩種情況下,合并都是三路合并,它同時考慮了兩個頭和一個稱為合并基礎的提交,它通常是最近的共同祖先。洗掉被視為更改,因此被包括在內。
沒有辦法讓 GitHub 進行雙向合并。如果您想要這種行為,您必須有一個自定義工具(例如,機器人)執行該合并并將提交推送到目標分支。只要生成的提交包含父分支的物件 ID 作為提交之一,PR 就會自動關閉。
Git 在git read-tree. 我不確定它是否提供了您想要的語意,但這是它提供的唯一雙向合并。如果您將該資料讀入索引,則可以使用git write-treeandgit commit-tree來合成合適的合并提交。
可能是為了獲得您想要的語意,您需要一個自定義合并工具。但是,您的目標更有可能通過與 Git 更優雅地協同作業的不同作業流程來實作,如果您提供了有關該作業流程的更多資訊,我們可以建議這樣的解決方案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/419151.html
標籤:
