Git 象征性地合并分支
Git merge branches symbolically
我有两个分支 A 和 B,我想将 B 合并到 A。但是,我不希望 B 的任何更改转移到 A。除了合并后进行的手动更改外,A 应该保持不变。我知道这在技术上违背了合并的整个想法,但这是关于 记录 这些分支是相关的。我想要的是,存储库的图表在相应的提交中合并了这两个图表,即我希望 git 到 "think" 有一个实际的合并。
一种可能的方法是在合并后执行 reset
。然而,这并不像上面描述的那样出现在图表中。分支之间没有实际的link。
如果取Branch B->A的diff
,A->B的diff
,可以合并B->A,然后提交diff
A->B,基本上撤消任何更改。您将有一个额外的提交,但更改将被跟踪。
这叫做"null merge"。使用 --strategy=ours
:
git checkout A
git merge -s ours B
PS。不要混淆 --strategy=ours
和
--strategy-option=ours
;后者是默认递归策略的一个选项;该选项合并没有冲突的文件。
我有两个分支 A 和 B,我想将 B 合并到 A。但是,我不希望 B 的任何更改转移到 A。除了合并后进行的手动更改外,A 应该保持不变。我知道这在技术上违背了合并的整个想法,但这是关于 记录 这些分支是相关的。我想要的是,存储库的图表在相应的提交中合并了这两个图表,即我希望 git 到 "think" 有一个实际的合并。
一种可能的方法是在合并后执行 reset
。然而,这并不像上面描述的那样出现在图表中。分支之间没有实际的link。
如果取Branch B->A的diff
,A->B的diff
,可以合并B->A,然后提交diff
A->B,基本上撤消任何更改。您将有一个额外的提交,但更改将被跟踪。
这叫做"null merge"。使用 --strategy=ours
:
git checkout A
git merge -s ours B
PS。不要混淆 --strategy=ours
和
--strategy-option=ours
;后者是默认递归策略的一个选项;该选项合并没有冲突的文件。