我试图理解两者之间的区别
git push --force
和
git push --force-with-lease
我的猜测是后者只推送到远程如果远程提交了本地分支没有?
最佳答案
force
用本地分支覆盖远程分支。
--force-with-lease
是一个更安全的选项,如果更多提交被添加到远程分支(由另一个团队成员或同事或其他人),它不会覆盖远程分支上的任何工作你)。它确保您不会通过强制推送来覆盖其他人的工作。
我认为您围绕该命令的总体想法是正确的。如果远程分支与本地计算机上的远程分支具有相同的值 - 您将覆盖远程。如果它没有相同的值 - 它表示在您处理代码时其他人对远程分支所做的更改,因此不会覆盖任何代码。显然,如果远程有额外的提交,那么这些值将不会相同。
我只是认为 --force-with-lease
是我想确保不覆盖任何队友代码时使用的选项。我公司的很多团队都使用 --force-with-lease
作为故障安全的默认选项。在大多数情况下它是不必要的,但如果您碰巧覆盖了另一个人贡献给远程的东西,它会让您省去很多麻烦。
我确定你看过文档,但这里可能包含一些更冗长的解释:
关于git push --force-with-lease 与 --force,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52823692/