'git push foo bar -f' 和 'git push foo +bar' 有什么区别?

What is the difference between 'git push foo bar -f' and 'git push foo +bar'?

标题说的是什么。在变基时,我总是被告知要避免强制推送,而是在本地分支上使用 + 。有人知道这是为什么吗?

git-push

不同之处在于,使用 + 仅强制具有此前缀的分支,而使用 -f 则强制在推送时指定的所有分支

在这两种情况下(-f 和 +),你可能会在服务器端丢失某人的提交,所以建议背后的想法可能是,如果你没有拉主并用所有匹配的分支进行推送,那么 - f 会破坏某人在服务器上的工作,因为不仅您自己的分支会被远程重置。

在任何情况下,当有多个存储库用户时,您应该很少在环境中进行强制更新,因为签出您的分支的任何人都会遇到更新问题。