【问题标题】:Undo modifying of files while switching branches in Git在 Git 中切换分支时撤消对文件的修改
【发布时间】:2015-08-14 17:32:43
【问题描述】:

所以我对本地分支 A 进行了更改。我忘记在切换到分支 B 之前存储这些更改,现在分支 B 拥有来自分支 A 的所有更改。

这些是相当多的变化,我真的不想手动梳理它们。

我怎样才能简单地撤消命令:

git checkout branch_b

如果这有助于使问题更容易解决,这是我用 git 发出的最后一条命令

谢谢

【问题讨论】:

    标签: git github terminal


    【解决方案1】:

    分支 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,或者如果您认为不再需要它们,则将它们忘记。

    【讨论】:

    • 非常感谢您的回答,帮我解决了问题
    猜你喜欢
    • 2013-03-11
    • 2012-09-30
    • 2014-09-24
    • 2010-10-16
    • 2015-01-15
    • 2014-10-24
    • 2016-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多