【问题标题】:How to undo everything in git before switching branch?如何在切换分支之前撤消 git 中的所有内容?
【发布时间】:2015-01-15 04:46:04
【问题描述】:

我想在几个分支之间切换。我遇到的问题是,由于线路结束问题,我切换到该分支后立即发生了一些变化。

我在git checkout new_branch 之前尝试过git reset --hardgit clean -f -d,但它们不起作用,因为文件仍处于修改状态。我该如何解决这个问题?

它与git: undo all working dir changes including new files 不重复,因为那里的答案对我不起作用。 :(

【问题讨论】:

    标签: git


    【解决方案1】:

    改为存储您的更改:

    git stash
    

    如果您需要它们,您可以恢复它们,这与上述方法不同 - 以极大的偏见删除该文件历史记录的存在。

    【讨论】:

      【解决方案2】:

      您提到的链接绝对是您的一个很好的解决方案。

      $ git reset --hard
      $ git clean -xdf
      

      第一行重置跟踪的文件,第二行删除未跟踪的文件。

      再试一次,如果不行,请分享错误信息和 git status 的结果。让我帮助你可能会有所帮助。 :)

      提示,当您尝试上述命令时,您应该关闭打开您要重置或清理的文件的编辑器。

      【讨论】:

      • 这两个命令对行尾没有帮助。运行它们后,这些文件仍然是它们的(处于修改状态)。
      • 好的。如果您认为它仅来自行尾​​,则可以尝试以下操作。一种。行尾的全局设置:help.github.com/articles/dealing-with-line-endings/… b.如果 a 不起作用,您只需将行尾更改为您想要的,然后将其作为提交。然后,签出新的分支。
      • 感谢您的链接,但我想撤消更改,而不是更改全局配置。
      猜你喜欢
      • 1970-01-01
      • 2016-03-07
      • 2019-11-18
      • 1970-01-01
      • 2010-09-25
      • 2021-05-17
      相关资源
      最近更新 更多