我最近使用Git创建了一个新分支,并且在此分支中进行了大量修改后,我想在之前的状态中返回并使用此分支删除所有这些更改。
现在更改没有上演,我没有任何提交
这样做的最佳方式是什么?谢谢
答案 0 :(得分:2)
有几种方法可以做你所要求的,并且取决于你想要的永久性。
通常,您将使用checkout
命令撤消未分级的更改。我建议阅读文档以获得有关该命令的更完整描述,但有一些有用的命令是
git checkout -- . # undo changes to all files in current directory and
# sub-directories
git checkout -- :/ # if you happen to not be in the root directory, but want
# to undo changes in the entire repository instead of just
# the current sub-directory
git checkout -p # patched undo, allows you to select which changes you want
# to undo and which you don't
如果您碰巧有想要撤消的更改阶段,则可以使用
git reset --hard
如琥珀所暗示的那样。这与做的效果相同
git reset
git checkout -- .
如果您发现自己处于发现破损的情况,并且您不确定是否是您的代码破坏了它或者在您启动时它已经损坏,您可以使用stash命令
git stash
这会将您的更改保存到临时区域,并将您的工作目录恢复为最后一次提交。您可以使用git stash apply
或git stash pop
将未提交的更改恢复到工作目录中。
您可能会发现git cheatsheet有帮助。它有助于可视化每个git命令的作用。
答案 1 :(得分:1)
如果您想完全删除所有未提交的更改(并且不关心是否能够将其取回),git reset --hard
将会解决此问题。