繁体   English   中英

强制覆盖TortoiseGit推送对话中遗漏的现有分支

[英]Force Overwrite Existing Branch missing from TortoiseGit push dialogue

我习惯于在TortoiseGit中修改提交,然后在Push窗口中选中Force Overwrite Existing Branch(可以放弃更改)复选框。 但是现在Push窗口中缺少复选框。 我现在如何强行推送TortoiseGit?

如果您使用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版本。

参考: https//tortoisegit.org/issue/2285

在此输入图像描述

引用来源: https//tortoisegit.org/docs/tortoisegit/tgit-dug-push.html#id692368

已知更改 - 这允许远程存储库接受更安全的非快进推送。 这可能导致远程存储库丢失提交; 小心使用它。 这可以防止丢失遥控器上其他人的未知更改。 它检查服务器分支是否指向与远程跟踪分支相同的提交(已知更改)。 如果是,则执行强制推动。 否则将被拒绝。 由于git没有远程跟踪标记,因此使用此选项无法覆盖标记。 这传递了git push命令的--force-with-lease选项。

未知更改 - 这允许远程存储库接受不安全的非快进推送。 这可能导致远程存储库丢失提交; 小心使用它。 这不会检查任何服务器提交,因此可能会丢失遥控器上的未知更改。 将此选项与“包含标记”一起使用可覆盖标记。 这传递了git push命令的传统--force选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM