如何忽略新分支中添加的所有修改

时间:2013-11-06 18:39:34

标签: git

我最近使用Git创建了一个新分支,并且在此分支中进行了大量修改后,我想在之前的状态中返回并使用此分支删除所有这些更改。

现在更改没有上演,我没有任何提交

这样做的最佳方式是什么?谢谢

2 个答案:

答案 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 applygit stash pop将未提交的更改恢复到工作目录中。

您可能会发现git cheatsheet有帮助。它有助于可视化每个git命令的作用。

答案 1 :(得分:1)

如果您想完全删除所有未提交的更改(并且不关心是否能够将其取回),git reset --hard将会解决此问题。