gpt4 book ai didi

Git 双向 merge

转载 作者:太空狗 更新时间:2023-10-29 13:56:18 26 4
gpt4 key购买 nike

我想知道处理这种 git 场景的最佳方法:

Git 仓库:CoreProduct

Git repo b: SpecificCustomerProduct 是从 a fork 出来的

到目前为止,我们一直在对 a 和 b 进行不同的更改,并且只将 a 向下 merge 到 b。到目前为止一切正常 - 特定产品正在从我们的 CorePoduct 中获得特性

现在,我们在 b 中完成了 一些 提交,我们想回到 a 中(并且 a 中有新的东西也需要像往常一样归结到 b )

问题:从 b 到 a 的这些特定提交的最佳方式是什么,目的是让我们从 a 到 b 的更常规 merge 尽可能轻松地向前推进?

问题:如果我们从头开始,您会怎么做?

我正在考虑从 b 中挑选提交到 b 上的临时分支,然后“pull 请求”分支到 a,但我担心这会影响 future 从 a 到 b 的 merge ..

最佳答案

假设你的 repo 有这样的结构:

... --- A1(branch_A)
\
\
... ------ B1(branch_B)

我的建议是:

(1) 为了以防万一,先通过 git branch bak_A branch_A 备份你的分支和 git branch bak_B branch_B .

(2) git checkout branch_A ,进行修改(通过挑选或 merge ,无论你想要什么)然后提交,你将得到这样的 A2(B1 和 A2 之间的边缘可能不存在,这无关紧要):

... --- A1 --- A2(branch_A)
\ /
\ /
... ------ B1(branch_B)

(3) git checkout branch_B , 然后 git commit-tree branch_B^{tree} -p branch_B -p branch_A -m "<commit messages>" | xargs -I {} git merge {} ,你会得到:

... --- A1 --- A2(branch_A)
\ / \
\ / \
... ------ B1 --- B2(branch_B)

其中B1和B2内容相同。

(4) 现在您可以像以前一样继续开发了。如果出现任何问题,您可以通过 git branch -f branch_A bak_A 恢复您的分支和 git branch -f branch_B bak_B .

关于Git 双向 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16094589/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com