您的位置:首页 > 其它

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
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: