合并我的分支中只有一个提交所包含的更改?

时间:2017-12-15 11:14:45

标签: git merge version-control

我习惯与合作伙伴合作,我们每个人都在并行分支工作。

有时,我想合并他提交的一些更改,但我不想合并他分支中的所有提交。

如果我合并他的分支,我将合并他的分支和所有这些祖先指出的提交。这不是我想要的。

如果我合并了一个特定的提交,我将合并该提交和所有这些祖先。这不是我想要的。

如何合并我的分支中只有一个提交所包含的更改而不合并他的祖先?

说明:我的合作伙伴在他们的文件中工作,我在我的工作。但有时候,我们中的一个人会更改两个共同的文件,因此我们只需要合并在commom文件中进行的更改。

2 个答案:

答案 0 :(得分:1)

在这种情况下,

cherry-pick确实是你想要的。它允许您指定要应用于当前分支的提交哈希:

git cherry-pick <commit>

当将分支与樱桃选择的提交合并时,git应该能够快速转发这些提交,确保您不会以重复的提交结束。

此流程的一个问题是,如果在已经挑选过的提交中发现问题。此更改需要应用于您的两个分支。

我的建议不是挑选提交,而是将这些提交合并到您的主分支。这使您更容易保持最新状态。

答案 1 :(得分:0)

我认为樱桃选择是您正在寻找的:

git cherry-pick <commit>

请检查:https://stackoverflow.com/a/9339460/3790546