0

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

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

做这个的最好方式是什么 ?谢谢你

4

2 回答 2

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 命令的作用。

于 2013-11-06T19:06:09.723 回答
1

如果您想完全删除所有未提交的更改(并且不关心能否将它们取回),git reset --hard那么就可以了。

于 2013-11-06T18:45:12.050 回答