本地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,复选框被重命名但仍然位于相同的位置。