在使用 git 的过程中由于误操作,导致从本地 master 分支 merge 代码到当前分支失败,虽然当前分支和 master 分支代码不同步,但是仍然提示 Already up-to-date
。
参考 StackOverflow 上面的解答:
大体意思是说当前分支已经同本地 master 分支代码合并过了,并且本地 master 分支代码已经是最新的了。
这时可以使用 git reset --hard
命令将本地分支的代码回滚到以前某一个正确的版本,再配合 git push --force
命令将本地分支的修改强制同步到服务器上,不然服务器上的分支又会和回滚后的分支冲突:
1 | git reset --hard <commit_id> |
<commit_id>
:表示将要回滚到的当前分支的历史版本号。<branch>
:表示当前的本地分支名称。
git reset 时,–soft、–mixed、–hard 的区别:
git reset –soft:回退版本库中的信息,不会回退暂存区和工作区中的信息,如果想要重新提交,直接 commit 即可。
git reset –mixed:回退版本库和暂存区中的信息,不会回退工作区中的信息,如果想要重新提交,需要先 add 进暂存区,再 commit。
git reset –hard:同时回退版本库、暂存区、工作区中的信息。
如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理