git 回退

405 阅读1分钟

一,如果是add&commit后没有push,想撤销,则:

git reset --soft HEAD^

二,如果把分支B合并到分支A上,没有commit,想回退 则在分支A上进行:

git merge --abort

三,当前分支001,如果是add&commit&push了或者把其他分支合并到此分支了,想撤销,则: 获取(合并)提交之前的版本号xxxx,然后执行下面两条命令:

git reset --hard xxxx
git push origin 001 --force

四,git 不小心把代码commit&push到了其他分支...

分支A
分支B
原来正要提交到分支A的代码,不小心提交并push到了分支B,这个时候怎么把提交到B的那个commit转移到分支A?
1,先切换分支B,git log 找到最新提交的CommitId-123,
2,切换到A,git cherry-pick CommitId-123,然后正常push
3,3.1 切换到B,删除错误的提交,git rebase -i CommitId-123的前一个commitId 
   3.2 会出来一个文件,把对应要删除的CommitId-123前面的pick 改成 drop ,然后wq保存。
   3.3 继续执行 git push origin xxxx --force (强行提交覆盖)