【本地代码回退】
git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除
git reset --hard HEAD~3:将最近3次的提交回滚
这两个操作只是把commit回退,再次push还是回到原位。所以需要同步rebase
git pull --rebase
将远程的HEAD指针和本地的HEAD指针同步
A1~HEAD A2~HEAD A3~ another commit
B1~HEAD B2~HEAD
远程有A和B共同的HEAD,本地只有A或B的HEAD,只有rebase一下就不会提交历史短线
回退:是自己本地的HEAD大于远程的HEAD,本地还有回退的代码为提交,所以rebase在同步远程的HEAD会把没有提交的代码给覆盖掉。
正常提交:情况一是自己本地的HEAD等于远程的HEAD,但自己本地的HEAD会小于远程有其他人提交的HEAD,所以同步HEAD的时,不会有代码被覆盖。
原文地址:https://www.cnblogs.com/Nyan-Workflow-FC/p/10383669.html
时间: 2024-10-08 04:06:12