在Git中,force push和normal push有什么区别?

35

强制推送和普通推送有什么区别,在什么样的情况下应该在 Git 中使用强制推送?将代码强制推送到主分支是一种好的做法吗?

2个回答

35

只有在您需要用本地历史记录替换远程历史记录时,才会强制推送。

这发生在您重写本地历史记录时,通常是通过 使用 git rebase 实现的。
例如,如果您刚刚推送了一个不正确的提交,并在本地进行了修改,则使用 push --force 可以帮助纠正最近的一次推送。

如果您是唯一在分支上工作的人,那么这并不是什么大问题。如果您不是唯一的用户,则需要清晰地沟通,以便其他用户将其本地分支重置为新的远程分支。或者您需要避免首先进行强制推送。

将 force push 推送到主分支是好的做法吗?

通常情况下不是一个好习惯(除非您是唯一使用远程仓库的人)。并且不要忘记,一旦分支被强制推送,就无法知道是谁进行了 push --force


3

如果你在一个共同的代码库中工作,强制推送是一种高度威胁和风险的方法。使用这种强制推送,你应该能够将本地版本强制推送到远程代码库。

但是,强制推送到远程仓库并不是一个好习惯。如果有冲突,你可以使用正常的推送并解决提交之间的冲突。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接