目前,在将我的功能分支重新定位到最新的主提交之后,我必须使用强制推送将更改推送到远程。不幸的是,在这种情况下可能会发生,我可能会丢失我从另一台机器推送的提交。
如果本地存储库中的远程分支与远程存储库中的相应分支匹配,有没有办法告诉Git只允许强制推送?
更新:请不要投票反对强行推送。
答案 0 :(得分:0)
您可以将这些更改下拉到本地分支机构,并在推送之前解决所有问题(否则您可能必须在下一次拉动时解决其他机器上的问题),或者您可以通过以下方式推送到特定分支机构: - 符号。
git push origin [local-branch]:[remote-branch]
删除远程分支的方法也是如此(即git push origin :branch
会将空分支推送到指定的远程分支,从而删除它。)
这根本不应该触及任何其他分支。 (但是如果分支中有外部更改,请在强制推送之前将这些更改合并,例如通过分支到新分支上)。
实际上,现在我考虑一下,更好的解决方案是将重新分支的分支推送到远程的新分支,而不是强制推送到当前分支。 (如果不再需要,可能会删除旧的未重新分支的分支),这样可以减少破损。