Git:如何有选择地将更改从主数据库复制到分支?

时间:2013-09-20 17:19:08

标签: git merge branch

我不久前从主回购中创建了一个分支myBranch。从那时起,几个变化已被推向掌握,现在我需要确保其中的一些变化,但不是所有变化都进入myBranch。换句话说,只需要将一些修改过的文件从master复制到myBranch(我知道“copy”可能不是正确的git术语,但我不知道正确的是什么)。

因此,如果我提交已在master中修改过的file1.c和file2.c,并且我只想将file2.c复制到myBranch,那么正确的方法是什么? THX

1 个答案:

答案 0 :(得分:2)

如果您想提交提交,可以使用git cherrypick <commit-sha>

这将创建一个新提交,其中包含与所选提交相同的更改。

否则,如果您的提交过于宽泛并且更改了您不希望带来的文件,那么您可以像git checkout master -- /file/to/update那样检查主要部分。该文件将与主版本上的版本完全一致(因此,如果您在同一文件上的分支上有更改,并且您希望保留它们,那么这不是最好的主意。)

如果这些都不适合你...那么我建议你手动复制更改(或者使用交互式rebase进行大量的更改),并在将来更好地(更多提交和更小的更改范围)提交。

无论如何,请注意,在所有情况下,当您尝试将分支合并回母版时,使用历史记录进行播放可能会带来很多冲突。