两个不同分支的Git merge与cherry pick
我有两个没有共同祖先的分支,让我们称它们为两个不同分支的Git merge与cherry pick,git,merge,Git,Merge,我有两个没有共同祖先的分支,让我们称它们为master和other。他们的内容差别很大,这一点必须保持下去。新的更改几乎总是在master上完成,并通过一些手动合并将cherry挑选到other,这是无法消除的。这也不会改变 我想知道像这样将master假合并到其他中会有什么后果 git checkout other git merge -s ours master 然后总是合并而不是采摘樱桃。好处显而易见: 这样就不需要记住该挑选什么了 它允许一次合并多个更改(有时可能更容易) 它在分支机
master
和other
。他们的内容差别很大,这一点必须保持下去。新的更改几乎总是在master
上完成,并通过一些手动合并将cherry挑选到other
,这是无法消除的。这也不会改变
我想知道像这样将master
假合并到其他
中会有什么后果
git checkout other
git merge -s ours master
然后总是合并而不是采摘樱桃。好处显而易见:
- 这样就不需要记住该挑选什么了
- 它允许一次合并多个更改(有时可能更容易)
- 它在分支机构之间建立了明确的关系
我可以想象,在极少数情况下,当不需要从另一个分支中挑选某些东西时,这会让我的生活变得更加艰难,但这并不是真正的问题。在我做这件事之前,我想知道是否有我不知道的缺点?没有明显的缺点,尤其是与采摘樱桃相比,即:
git重置。。。
git添加-p。。。
听起来不错,而且你似乎知道自己在说什么。问题是为什么我没有早点想到这个主意?我从未见过有人推荐这种假合并。@maaartinus,因为大多数情况下,它只向分支报告几个提交,而不是“除了一两个文件以外的所有提交”。在形式上,樱桃采摘是通常的解决方案。
git reset <paths>...
git add -p <paths>...