如何将我的本地未提交更改合并到另一个Git分支中?

我该如何在git中做到这一点:

我目前的分支是分支1,我做了一些本地更改。 不过,我现在意识到我实际上是想将这些更改应用于branch2。 有没有办法应用/合并这些更改,以使它们成为branch2上的本地更改而不在branch1上提交它们?


由于您的文件尚未在branch1branch1

git stash
git checkout branch2
git stash pop

要么

git stash
git checkout branch2
git stash list       # to check the various stash made in different branch
git stash apply x    # to select the right one

正如benjohn所说的(参见git stash手册页):

要还存储未跟踪的(新添加的)文件,请添加参数-u ,以便:

git stash -u

存储,临时提交和重新分​​配可能都是过度的。 如果您还没有将已更改的文件添加到索引,那么您可能只能检出其他分支。

git checkout branch2

只要没有正在编辑的文件在分支1和分支2之间不同,这将工作。 它会让你在branch2上保持工作变化。 如果它们不同,则可以指定要将本地更改与通过使用-m选项切换分支引入的更改合并到结帐。

git checkout -m branch2

如果您已经对索引添加了更改,那么您首先需要重置撤销这些更改。 (这将保留您的工作副本,它只会删除分阶段的更改。)

git reset

以下是前面提到的隐藏方法的较短的替代方案:

暂时将更改移至藏匿处。

git stash

创建并切换到新分支,然后只需一步即可弹出存储。

git stash branch new_branch_name

然后addcommit更改到这个新的分支。

链接地址: http://www.djcxy.com/p/3831.html

上一篇: How to merge my local uncommitted changes into another Git branch?

下一篇: Git checkout: updating paths is incompatible with switching branches