推入+主推与推推

Ste*_*haw 3 git github

当我与分叉的GitHub上的上游项目重新同步时,我认为我需要强制执行推送。但是,将其推入+master似乎也有效。

之间有什么区别:

git push origin +master
Run Code Online (Sandbox Code Playgroud)

和

git push --force origin master
Run Code Online (Sandbox Code Playgroud)

?

一个危险性低于另一个危险性吗?

Tim*_*sen 5

从Git文档中:

请注意--force适用于所有推送的ref,因此将push.default设置为match或与配置了remote的多个推送目标一起使用* .push可能会覆盖当前分支以外的其他ref(包括本地ref严格落后于他们的远程对等对象)。要仅强制推送到一个分支,请在refspec前面使用+进行推送

git push origin +master而git push --force origin master两者都将做同样的事情,因为在后一种情况下,你只能指定一个参考。

Git创建的任何内容本质上都不是邪恶的,并且当您要覆盖远程分支时,执行Git强制推送是适当的。当您要执行此操作时,一个示例是在另一个分支上重新建立个人功能分支,然后将其推出到存储库中。