隐藏当前分支和主分支之间的差异以将其应用于旧提交

Stash the difference between current branch and master to apply it to an old commit

如何隐藏当前分支和主分支之间的差异以将其应用于旧提交,换句话说,我应该在当前版本(主)和旧版本(1 年前的旧主提交)中应用新功能.

将新功能应用到 master 上的任何分支的方法很少:

1.Cherry-使用

一一选择所有提交
git cherry-pick hash_of_commit

但是如果你有很多提交,这将需要一些时间。

  1. 将您想要应用的提交压缩到一个提交中,然后将这个(已经压缩的提交)挑选到您想要的任何分支。

要压缩,您可以使用 git rebase -i hash_of_the_commit - 此命令将对 hash_of_the_commit 进行交互式变基,这应该是您开始开发功能之前的一次提交。然后在交互模式下,您将所有提交标记为 squash。压缩时可能会导致冲突。

3.Create补丁

git diff from-commit to-commit > output-file

然后将补丁应用到您的其他分支:

git apply output-file