



代码写错分支了怎么办?

比如我的代码应该写在wzy分支上,但是我写到了xym这个分支,并且还提交了,怎么把代码移到wzy分支,并且撤回提交?
1、(xym)git reset HEAD^
2、(xym)git stash
3、切换到wzy
4、(wzy)git stash pop
5、(wzy)commit
这样所有的版本提交记录都不留痕迹,首先第一步会把差异放到工作区,然后git stash放到暂存栈,这个时候工作目录就是干净的,可以用git status看一下,然后切到wzy分支,git stash pop 从暂存栈中拿出来,之后再把代码提交。最后就是提交xym分支的代码,如果远程也推送了怎么办?就用下面的方法。

如何撤销远程的提交?

某次修改已经本地提交了,push到远程了,怎么撤销本地和远程的提交
首先还是版本回退,git reset HEAD^,然后,这样你之前改动的内容就会到工作目录中,你可以直接不提交工作目录的改动直接恢复成原来的样子,然后git push --force origin xym.强行让远程和你本地版本一致,你就会发现那次提交消失了.
git reset有三种模式,默认--mixed会把回滚的版本,和当前版本的差异保存到工作目录,--soft会把和当前版本的差异保存到暂存区,--hard会直接覆盖工作目录、暂存区、仓库,保证代码是一致的.HEAD是最近一次提交,HEAD^是最近的上一次.
