Git:如何有选择地将更改从主节点复制到分支



我前段时间从主存储库创建了一个分支myBranch。从那以后,已经将一些更改推送到master,现在我需要确保其中一些更改(但不是全部)进入myBranch。换句话说,只需要将一些修改后的文件从 master 复制到 myBranch(我知道"copy"可能不是正确的 git 术语,但我不知道正确的是什么)。

因此,如果我在 master 中提交了已修改的文件 1.c 和 file2.c,并且只想将 file2.c 复制到 myBranch,正确的方法是什么?感谢

如果你想把提交带过来,你可以使用 git cherrypick <commit-sha> .

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

否则,如果您的提交范围太广并且更改了您不想带的文件,那么您可以像这样git checkout master -- /file/to/update签出 master 的部分内容。该文件将完全按照 master 上的版本签出(因此,如果您在同一个文件的分支上有更改并且想要保留它们,那么这不是最好的主意)。

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

无论如何,请注意,在所有情况下,当您尝试将分支合并回 master 时,像这样玩历史可能会带来很多冲突。

最新更新