GIT本地回退版本并作修改后如何更新远程仓库

我的远程仓库有一个同事之前提交的版本,最后一次远程是他提交的。我准备忽略掉这个版本。
远程只有一个分支 master

我把版本回退了 git reset HEAD

现在就到他提交之前的版本。

然后我直接修改代码,修改完了后,发现不能提交,

git push -f origin master
显示Everything up-to-date 大概是远程比我现在本地的新吧。

请问我有什么办法 让远程master回一个版本,并且更新为我本地的最新版呢?

我有个办法就是在远端以同事提交前的最后一次新建一个分支,然后把本地的push到那个分支,但是还没有操作。

阅读 11.9k
6 个回答

git 版本回退

方法1

git reset --hard dbf5efdb3cd8ea5d576f2e29fe0db1951d0e3e3b

# 强制推送到远程分支, 会抹去远程库的提交信息, 不要这么干
# git push -f origin master

方法2

# 回退到指定版本, 需要解决冲突
git revert e7c8599d29b61579ef31789309b4e691d6d3a83f

# 放弃回退(加--hard会重置已 commit和工作区 的内容)
git reset --hard origin/master 

参考资料

你可以使用 git revert 命令中和掉同事的那一次提交,然后再修改你的代码,修改完后再提交就可以成功了,并且成功去掉了你同事的那次提交。
http://m.blog.csdn.net/articl...

永远的先拉取后提交

git reset HEAD^

git push -f origin master

应该可以解决问题吧

新手上路,请多包涵

git push origin master:master -f 似乎要制定分支到分支 我碰过一次这个问题

推荐问题
宣传栏