我习惯于在TortoiseGit中修改提交,然后在推送窗口中选中强制覆盖现有分支(可以放弃更改)复选框。但是现在Push窗口中缺少复选框。我现在如何强行推送TortoiseGit?
答案 0 :(得分:17)
如果您使用TGit 1.8.10 +
“推送对话框”中有2个强制推送复选框。 左边是新的(--force-with-lease),这是一种“更安全”的强制推送方式。 如果您的本地refs / remotes / origin / master ==服务器的主服务器,那么您可以使用此选项强制推送。如果有人更改了服务器的主服务器,你的本地refs / remotes / origin / master!=服务器的主服务器,则你不能强制推送使用这个选项。
正确的是传统的(--force),它总是丢弃东西。
你的git版本低于1.8.5 所以--force-with-lease不可用。 您只在右侧的复选框中使用传统的--force选项。
您可以考虑升级您的git版本。
答案 1 :(得分:2)
引用来源:https://tortoisegit.org/docs/tortoisegit/tgit-dug-push.html#id692368
已知更改-这允许远程存储库 接受更安全的非快进推送。这可能会导致遥控器 丢失提交的存储库;小心使用。这样可以防止 丢失远程其他人的未知更改。它检查是否 服务器分支指向与远程跟踪相同的提交 分支(已知更改)。如果是,将执行强制推动。 否则将被拒绝。由于git没有远程跟踪 标签,使用此选项不能覆盖标签。这通过 git push命令的--force-with-lease选项。
未知更改-这允许远程存储库 接受不安全的非快进推送。这可能会导致遥控器 丢失提交的存储库;小心使用。这不检查任何 服务器提交,因此有可能丢失对服务器的未知更改 远程。将此选项与“包含标签”一起使用可以覆盖标签。这个 传递了git push命令的传统--force选项。