GIT撤销相关命令

刚开始正式使用git不久,很多使用方法不是很了解,提交文件什么的总是提心吊胆的,生怕项目代码给自己弄乱,一开始为了保险还傻傻的copy一份放起来再做git提交。

今天学习了git撤销的一些命令。发现git作为一个版本控制系统,项目的备份本来就是它自己的一种特性,它完全允许我们在各个git动作之间穿梭。手动copy备份真是太2了。

总结一下,撤销相关的命令有reset、checkout、clean

  

checkout

git checkout -- file

撤销对文件的修改,分两种情况

1、文件之前添加到暂存区之后做的修改,执行此命令相当于 本地的 file <== 暂存区的file

2、暂存区没有该文件,执行此命令相当于 本地的file <== 最新版本库的file

也可以用  git checkout .  (.代表所有文件),撤销本地所有文件的改动

 

git checkout --ours / --theirs file

合并出现冲突的时候,可以使用此命令将冲突文件重置为当前分支 (ours) 的,或者另一分支 (theirs) 的文件

reset 

git reset --hard [commit]

让本地文件回退到某一个版本,版本可以用SHA值指定,查看SHA值可以用 git log 或者git log --pretty=oneline (简化的log信息)查看

那如果我回退到了一个版本,但是后来发现我又想回到前面的版本怎么办,git log 都找不到了!!!!

没关系,git 还有办法: git reflog 就可以找到全部的commit的SHA值了

 

git reset HEAD [file]

将文件从暂存区删除

 

clean

git clean -fd 

这条命令是用来删除新增加的而且没有放到暂存区的文件,既 使用git status 时, 标记为  Untracked files 的那些文件

 

posted @ 2015-11-30 01:26  JasonTurbo  阅读(338)  评论(0)    收藏  举报