Fork me on GitHub
代码改变世界

Git撤销操作命令

2015-08-15 18:11  autrol  阅读(9931)  评论(0编辑  收藏  举报

使用Git的过程中,失误无法避免,虽然Git很强,但是有些失误,无法挽回。在这里我介绍一些Git的撤销命令。

撤销对文件的修改

如下图所示的情况,你修改了文件,但是不想保存对文件的修改。

根据具体情况,你可以选择执行下面的命令:
git checkout -- <文件名>  #撤销对某个文件的修改

git checkout -- .  #撤销对所有文件的修改

 

删除新建的文件

如下图所示的情况,注意"Untracked files"提示,你新建了文件,但是想删除掉新建的文件。

根据具体情况,你可以选择执行下面的命令:

git clean -f   #删除 untracked files
 
git clean -fd  #连 untracked 的目录也一起删掉
 
git clean -n  #在用上述 git clean前,强烈建议先执行git clean -n 看看会删掉哪些文件,防止重要文件被误删

不过你也可以直接简单粗暴,手动删除或者执行window的rm命令,删除文件,不过执行git rm命令是没法做到的,必须先add,然后执行git rm -f <文件名>强制删除文件。。。。

 

撤销暂存区文件

如下图所示的情况,你想撤销add命令添加到暂存区的文件。

根据具体情况,你可以选择执行下面的命令:

git reset head <文件名>   #撤销对某个文件的add命令

git reset head .  #撤销所有文件的add命令

 

撤销已暂存的文件

你想撤销commit命令,你可以执行下面的命令:

git log  #先执行这条命令查看commit的历史

git reset --hard <commit_id> #跳到某次commit

 撤销之后,由于本地版本低于线上版本,想要提交代码,只能强行提交,覆盖线上,可以使用下面的命令:

git push -f origin 分支名

注意:

  1. 命令行中的空格
  2. 其实上面的命令,在Git的命令行窗口中差不多都有提示。。。。。。