git 回滚操作 revert 和 reset
2017-07-14 19:21
363 查看
使用git 管理代码比较方便。当代码提交后发现问题时,想要回滚,要怎么做呢?
git 有 revert 和 reset 两种方式。但用途并不一样:
git revert 撤销
git reset 回退。
例子:
如果先后做了3次提交 commitA、commitB、commitC,分别改了A文件、B文件、C文件。
如果在git中查看
当前是commitC。
撤销:使用git revert
git revert commit-id
// 其中,commit-id是目标commit的log代号,就是每次提交会自动生成的很长一串的字符代号,取前7位即可
想要撤销B文件的更改
想要撤销C文件的更改
所以git revert 是撤销某次commit的更改,和其他commit无关。
代码出问题了,想要回滚到之前版本怎么办?
回滚:使用git reset
其中 HEAD 表示当前位置,即最后一次提交。
回滚到往前几次的提交呢? 例如,
回滚到前一次
git 有 revert 和 reset 两种方式。但用途并不一样:
git revert 撤销
git reset 回退。
例子:
如果先后做了3次提交 commitA、commitB、commitC,分别改了A文件、B文件、C文件。
如果在git中查看
commitC commitB commitA
当前是commitC。
撤销:使用git revert
git revert commit-id
// 其中,commit-id是目标commit的log代号,就是每次提交会自动生成的很长一串的字符代号,取前7位即可
想要撤销B文件的更改
git revert commitB
想要撤销C文件的更改
git revert commitC
所以git revert 是撤销某次commit的更改,和其他commit无关。
代码出问题了,想要回滚到之前版本怎么办?
回滚:使用git reset
git reset --hard HEAD~n
其中 HEAD 表示当前位置,即最后一次提交。
回滚到往前几次的提交呢? 例如,
回滚到前一次
git reset --hard HEAD^ // ^表示往前一次 或 git reset --hard HEAD~1回滚到前2次
git reset --hard HEAD^^ // ^表示往前一次 或 git reset --hard HEAD~2回滚到前100次
git reset --hard HEAD~100
相关文章推荐
- 代码回滚:git reset、git checkout和git revert区别和联系
- git的几种回滚 git revert 和 git reset的区别
- Git reset head revert 回滚
- Git误操作 git reset强制回滚 恢复commit方法
- git版本回滚:revert和reset
- git 撤销操作--git checkout、git reset、git revert、git commit -- amend
- git reset & revert 代码回滚
- Git Reset hard误操作回滚恢复代码
- git reset 操作后回滚
- Git代码回滚:Reset、Checkout、Revert 的选择
- git reset/revert 回滚
- git代码回滚:Reset、Checkout、Revert的选择
- git回滚中reset与revert的使用比较
- git reset --hard回滚之后再滚回去的操作
- git回滚操作---revert
- git/svn reset/revert 回滚到服务器上的某一个版本
- Git版本恢复命令reset和revert
- git revert和git reset的区别
- 代码回滚:Reset、Checkout、Revert的选择
- git revert .vs. git reset .vs. git rebase