【发布时间】:2015-08-14 17:32:43
【问题描述】:
所以我对本地分支 A 进行了更改。我忘记在切换到分支 B 之前存储这些更改,现在分支 B 拥有来自分支 A 的所有更改。
这些是相当多的变化,我真的不想手动梳理它们。
我怎样才能简单地撤消命令:
git checkout branch_b
如果这有助于使问题更容易解决,这是我用 git 发出的最后一条命令
谢谢
【问题讨论】:
所以我对本地分支 A 进行了更改。我忘记在切换到分支 B 之前存储这些更改,现在分支 B 拥有来自分支 A 的所有更改。
这些是相当多的变化,我真的不想手动梳理它们。
我怎样才能简单地撤消命令:
git checkout branch_b
如果这有助于使问题更容易解决,这是我用 git 发出的最后一条命令
谢谢
【问题讨论】:
分支 B 没有“所有这些更改”,除非您实际提交了所有这些文件。到目前为止所发生的只是您切换 到分支 B,而这些更改在您的工作目录中仍然未完成。您有几个选择:
您可以切换回分支 A 并提交更改。
git checkout branch_a
git commit -m "some stuff that should be on branch_a"
然后切换回B分支。
您可以切换到分支 A 并“隐藏”更改:
git checkout branch_a
git stash
稍后,如果您想继续进行这些更改:
git checkout branch_a
git stash pop
您可以基于分支 A 创建一个新分支作为临时存储这些更改的地方:
git checkout -b work_on_branch_a branch_a
git add -u
git commit -m "work in progress for branch a"
稍后,您可以将这些更改合并回分支 a,或者如果您认为不再需要它们,则将它们忘记。
【讨论】: