Git 一一合并提交
Git merge commits one by one
在 master
旁边,我有另一个远程存储库 remote/master
,我想从那里一次又一次地提取更改。这仅在大约每 20 次提交之后发生。因此,它总是会产生这些巨大的合并冲突庞然大物,其中 git 要我一次解决 20 次提交中的所有 20 次可能的冲突,而无需任何进一步指导。
有没有办法合并分支,一个一个地检查提交?所以我可以交叉检查与提交消息的个人冲突并采取相应的行动。我知道当提交撤消之前的更改时,这可能会引入不必要的工作,但这是一个非常可以接受的权衡。
我知道我可以 git cherry-pick
所有这些,但我怎么知道从什么时候开始挑选?在每个假“合并”过程之前手动检查日志?另外,我实际上并不是在这里挑选樱桃。我想将两个分支合并为一个,但不是一次全部合并,如
git pull --one-by-one remote master
Is there a way to be able to merge the branch, going through the commits one by one?
不尽然,git 不是这样做的。我猜你可以一个一个地合并每个中间提交,然后获取生成的树并创建一个合成的“合并”提交。
I know I can git cherry-pick them all, but how would I know since when to cherry-pick?
有 git merge-base
,但我认为这没有任何意义。 remote/master
通常是“幸运的”上游,通过挑选其内容,您将在您的分支中创建完全不相关的提交(内容相似但实际上不匹配)。
大多数人会 rebase
将他们的本地更改上传到上游。
This happens only about after every 20 commits or so. Consequently, it always generates these big behemoths of merge conflicts
这听起来像是某种非常奇怪的开发方法。
在 master
旁边,我有另一个远程存储库 remote/master
,我想从那里一次又一次地提取更改。这仅在大约每 20 次提交之后发生。因此,它总是会产生这些巨大的合并冲突庞然大物,其中 git 要我一次解决 20 次提交中的所有 20 次可能的冲突,而无需任何进一步指导。
有没有办法合并分支,一个一个地检查提交?所以我可以交叉检查与提交消息的个人冲突并采取相应的行动。我知道当提交撤消之前的更改时,这可能会引入不必要的工作,但这是一个非常可以接受的权衡。
我知道我可以 git cherry-pick
所有这些,但我怎么知道从什么时候开始挑选?在每个假“合并”过程之前手动检查日志?另外,我实际上并不是在这里挑选樱桃。我想将两个分支合并为一个,但不是一次全部合并,如
git pull --one-by-one remote master
Is there a way to be able to merge the branch, going through the commits one by one?
不尽然,git 不是这样做的。我猜你可以一个一个地合并每个中间提交,然后获取生成的树并创建一个合成的“合并”提交。
I know I can git cherry-pick them all, but how would I know since when to cherry-pick?
有 git merge-base
,但我认为这没有任何意义。 remote/master
通常是“幸运的”上游,通过挑选其内容,您将在您的分支中创建完全不相关的提交(内容相似但实际上不匹配)。
大多数人会 rebase
将他们的本地更改上传到上游。
This happens only about after every 20 commits or so. Consequently, it always generates these big behemoths of merge conflicts
这听起来像是某种非常奇怪的开发方法。