git 回滚

git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id


本地代码库的回滚证明下面的方法是可行的,直接使用sourcetree的“回滚提交”需要解决冲突。而使用下面的命令行回滚代码,直接就回滚了,不需要解决冲突。

【本地代码库回滚】:

git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除。

(commit-id,只写sourcetree中【】中的id就行,不用都写全,因为id由40个16进制数字组成的,太长。只写 [d146028]这个就行了。)


git reset --hard HEAD~3:将最近3次的提交回滚

 



【远程代码库的回滚】

参考master远端代码库的回滚这一篇文章,这个方法稍微简单点。

下面的方法要稍微麻烦点。


【远程代码库回滚】:

自己测试可用的步骤:

1.回滚本地代码。比如想要回滚远程dev分支的代码。那么先使用上面的方法,先回滚本地dev分支的代码。

2.第一步完成后,删除远端的dev分支。

直接鼠标右键,选中删除分支,直接确定即可删除远端dev分支。


3.第二步完成后,将本地回滚后的dev代码推送到远程。

推送本地回滚好的dev分支到远端。





//下面的操作更稳妥一些,增加了备份分支的情况(即新建一个分支,从远端拉下来,用作备份。)

原理:先将本地分支退回到某个commit,删除远程分支,再重新push本地分支

操作步骤:

1、git checkout the_branch

2、git pull

3、git branch the_branch_backup //备份一下这个分支当前的情况

4、git reset --hard the_commit_id //把the_branch本地回滚到the_commit_id

5、git push origin :the_branch //删除远程 the_branch

6、git push origin the_branch //用回滚后的本地分支重新建立远程分支

7、git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支


删除备份的分支,sourcetree不能够删除,必须用命令行删除。(而且必须用大写的字母D才可以,小写的字母d是不行的。)

还有一点注意,删除分支的时候,当前选中的分支不能是即将要删除的分支,必须将当前分支切换到其他分支上。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值