在git中重置上次提交后的所有更改

我如何撤消每一个更改后,我的目录最后一次提交,包括删除添加的文件,重置修改的文件,并添加回删除的文件?

237416 次浏览

首先,重置所有更改

这将撤销您对跟踪文件所做的任何更改,并恢复已删除的文件:

git reset HEAD --hard

其次,删除新文件

这将删除自上次提交以来添加的所有新文件:

git clean -fd

由于.gitignore而未被跟踪的文件将被保留;它们不会被移除

警告:使用-x代替-fd 删除被忽略的文件。你可能不想这么做。

我如何撤消每一个变化使我的目录后,最后一次提交,包括删除添加的文件,重置修改的文件,并添加回删除的文件?

  1. 你可以用以下方法撤消对跟踪文件的更改:

    git reset HEAD --hard
    
  2. You can remove untracked files with:

    git clean -f
    
  3. You can remove untracked files and directories with:

    git clean -fd
    

    无法撤消对未跟踪文件的更改。< / p >

  4. 你可以删除被忽视和不被追踪文件和目录

    git clean -fdx
    

    不能撤消对被忽略文件的更改。< / p >

你也可以将clean.requireForce设置为false:

git config --global --add clean.requireForce false

来避免在使用git clean时使用-f (--force)。

在这种情况下有两个命令可以使用,

根>git重置-硬头~1

根>git push -f

更多git命令请参考页面