回滚到最后的提交
我只是做了一个
git commit -m "blah" 然后我添加了一些文件,我如何回滚和删除当前文件中尚未添加/提交的内容?
下面的原始答案是我认为OP在找的东西。 虽然,根据@ChrisNevill的评论,最初的答案可能不是你正在寻找的。 我已经更新了答案,以澄清。
→更新的答案
1)要UNDO本地文件更改但不删除您的上次提交,然后使用
 git reset --hard 
2)要UNDO本地文件更改并删除您的上次提交,然后使用
 git reset --hard HEAD^ or git reset --hard HEAD~ 
3)要保持本地文件更改, 只删除最后一次提交,然后使用
 git reset --soft HEAD^ or git reset --soft HEAD~ 
 经常使用git status和git log来观察你的当前状态。 
→原来的答案
“重置工作树到最后的提交”
 git reset --hard HEAD^ 
“清除工作树中的未知文件”
 git clean 
如果你想删除新添加的内容和文件(已添加到索引),那么你可以使用:
 git reset --hard 
如果你想删除你最近的提交(是与“blah”消息的那个),那么最好使用:
 git reset --hard HEAD^ 
要删除未跟踪的文件(所以新的文件还没有添加到索引)和文件夹使用:
 git clean --force -d 
  git reset --hard将强制工作目录返回到上次提交并删除新的/已更改的文件。 
 你可以使用git revert HEAD^还原到倒数第二次提交。 你也可以指定提交使用id来代替HEAD ^ 
如果您只想取消提交上次提交,请使用以下命令:
 git reset HEAD~ 
像我的魅力一样工作。
自上次提交以来,对UNDO本地文件更改的简单方法是将它们放在新的分支中:
 git branch changes git checkout changes git add . git commit 
这留下了新分支的变化。 返回到原始分支find它回到最后一次提交:
 git checkout master 
新的分支是一个很好的地方,可以练习不同的方法来恢复变化,而不会弄乱原来的分支。