我的主 GIT 分支接缝有一些错误,因此我想重新检查、重新 merge 或可能将我的开发分支克隆到主分支上,这样主分支将成为开发的副本。
我该怎么做? 谢谢。
最佳答案
如果问题只是你 checkout 的文件与分支不匹配,只需正常使用 git reset
即可:
git reset --hard HEAD
这应该就是您所需要的。但是,如果您仍想用 dev 覆盖 master,请继续阅读。
如果你想用你的 dev 分支的内容覆盖你的 master 分支,使用 git reset
像这样:
$ git checkout master
$ git reset --hard dev
然后如果你想把它推到别的地方:
$ git push origin master
请注意,如果您的 dev 分支没有从您的 master 分支快进(我猜它不会,因为您说过您的 master 分支中有一些搞砸了的东西),您将需要将 --force
标志添加到推送以在远程覆盖它:
$ git push origin master --force
但是请注意,这可能涉及重写历史的所有正常注意事项,如 git rebase
- 如果其他人使用此 Remote ,他们将需要处理相当于上游的问题 rebase 。
为避免将来出现此问题,建议您的 friend 使用--force
几乎永远 不是必需的。如果他们在尝试 git push
时遇到冲突,他们应该先 git pull
解决冲突,然后再 git push
。
关于GIT 将文件从 dev 重新 merge 到 master,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4495322/