我有一个开发人员搞乱了开发分支几个星期而没有告诉我并将代码推送到远程服务器,我结束了很多会议后希望复制/克隆/镜像主分支到我的开发部门。
是的我知道我将失去所有的开发工作,现在就可以了。我需要一个稳定的开始和明确的开始,这将是主人。
那么如何让我的开发完全复制/镜像我的主分支?
我做了以下事情:
git checkout develop
git reset --hard master
git commit -am "head reset"
git push
我收到以下错误:
! [拒绝]开发 - >开发(非快进)错误: 未能将一些参考文献推送到ssh:// git @ xxx / project'提示:更新了 被拒绝,因为你当前分支的提示背后暗示:它 远程对手。合并远程更改(例如' git pull')提示: 然后再推。提示:请参阅关于快进的说明'在' git 推 - 帮'详情。
所以在收到错误后我就这样做了:
git push --force
但是如果我拉一下它会再拉出所有旧代码......请帮帮我
答案 0 :(得分:1)
然后所有其他程序员都会遇到问题
无论如何,所有其他程序员都会遇到问题。
您将develop
重置为master
(此处不需要提交),并强制推送它。
这意味着,任何其他开发者都必须:
git fetch origin
git checkout develop
git reset origin/develop
然后添加/合并他们当前的更改。
我拉一下它会再拉出所有旧代码
不应该:develop
分支和master
分支应指向同一点。
另一种方法是develop
分支的revert the commits,以便生成一个取消它们的新提交。
重置更容易,但git revert
允许不重写任何内容,并推送新的提交。