为什么我无法在 TortoiseGit 推送窗口的“推送选项”文本框中指定“-f origin main”?

为什么我无法在 TortoiseGit 推送窗口的“推送选项”文本框中指定“-f origin main”?

本地main分支和远程分支之间存在一些不匹配的情况。因此,我想强制重置main名为 的远程分支origin

使用 git 命令行,我可以这样做:

git checkout main
git reset --hard <some hash> (now the local and remote main branches are different)
git push -f origin main

我想对 TortoiseGit Push 窗口执行相同的操作,如下所示:

在此处输入图片描述

但是它失败了,并出现以下错误消息,提示我需要先拉。

在此处输入图片描述

谁能告诉我为什么“推送选项”文本框不能作为命令行工作?

我检查了 TortoiseGit官方文件关于推送窗口,截图如下,连“推送选项”输入框都没有…… 在此处输入图片描述

答案1

TortoiseGit 中的推送对话框有“强制”选项。

您需要选中“强制:可能丢弃”行中的“已知更改”或“未知更改”复选框:

推送对话

“已知变化”暗示“强制租约”,而“未知变化”仅发出普通的“--force”选项。

参见https://tortoisegit.org/docs/tortoisegit/tgit-dug-push.html

使用 TortoiseGit >= 2.13,复选框被重命名但仍然位于相同的位置。

相关内容