关于版本回退:
例如现在有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一次;