git 常用命令(三)--版本回退

关于版本回退:

例如现在有A、B两个人,总共有3次提交 A1--A2--B1,而且两个人都在最新的提交上。现在的问题是A这个人发现A2提交是有问题的,需要去修改。

 

方法一:在现有的基础上进行修改

        如果发现并不是很严重的问题,可以通过log日志来找到问题,然后在B1提交上进行修改,然后commit后push,作为A3提交就可以。

 

方法二:版本回退(强退)

         首先说明一下,强退会引起较多问题,特别是多人在一个分支上开发时。所以原则是:能不强退就不强退,尽可能使用方法一,也就是通过在最新提交上修改来解决问题。

 

以下是A个人在本地分支上进行reset后,然后强推到远程仓库,此时A的本地仓库和远程仓库是一致的。

        1 >> git reset --hard (commit_id) 回到某次提交

        2 >> 然后推送到远程仓库 ,需要使用强推 git push -f

        版本回退后,git log只能看到回退后的commit_id之前的提交;

        如果需要看到回退之前所有的提交,可以使用 git reflog

 

但是问题是B个人的本地仓库还是停留在B1提交上。。。。。。

一种简单粗暴的办法是:让B在本地删除整个目录,然后再clone一次;

 

你可能感兴趣的:(git操作)