1、如何将在工做区中修改的文件进行回滚(git checkout)git
2、如何将暂存区修改的文件进行回滚(git reset)vim
3、如何将提交后的文件进行回滚(git reset、git revert)bash
4、远程机器如何进行回滚spa
git checkout -- README.md
git checkout .
git reset README.md
git reset
git reset HEAD^ git reset @^
Tips:这个命令是将提交后的文件回滚到工做区的状态,若是修改以后须要再次
git add .
git reset commitID git revert -n commitID
不建议,可能没有权限,危险操做code
git reset commitID git push -u origin master -f
至关于打补丁,建议使用blog
git revert -n commitID # 手动处理冲突 # if 处理冲突完毕 git revert --continue # if 退出不处理冲突 git revert --abort # 进入vim界面 编写commit describe并保存 git push origin master
上面回滚中用到了 git reset
和 git revert
两种方法,下面进行一下分析:ip
比较 | 相同点 | 不一样点 |
---|---|---|
git reset |
能够进行回滚操做 | git reset 回滚以后commitID 后面的版本就没有记录了。<br/>若是想要回滚到将来节点,要知道将来节点的commitID 。<br/>因此在回滚前最好先知道当前的commitID |
git revert |
能够进行回滚操做 | git revert 回滚操做以后,会进行文件的手动去留,<br/>而后新生成一个版本号,以前的提交仍是在的。 |