跳至内容
GitTree
遥控器和同步

使用带租约的强制推送

在修改、变基或重置已推送的提交后,正常推送将被拒绝。 Force Push (With Lease)… 将远程分支替换为您的分支,但前提是它仍然是您上次提取分支的位置,例如 git push --force-with-lease。 GitTree 绝不会以任何其他方式强行推动。

免费已更新

免费使用 GitTree:登录后的所有本地 Git 功能。

在此页面上
  1. 开始之前
  2. 在哪里可以找到它
  3. 步骤
  4. 预期结果
  5. 租约保护什么
  6. 如果出现问题
  7. 问题
  8. 有关的

开始之前

  • 您重写了远程上已经存在的提交,并且您知道没有其他人需要它们。

在哪里可以找到它

  • 命令面板:Force Push (With Lease)…。
  • Force Push… 在对话框中显示远程拒绝了您的分支。
行动macOSWindows 和 Linux
首先Fetch All⌘⇧FCtrl+Shift+F

步骤

  1. 先取

    获取以便 GitTree 知道远程分支现在在哪里;租约会根据您上次获取的内容进行检查。

  2. 阅读确认信息

    Force push … to …? 表示哪些提交将从远程删除,并且仅当远程仍处于您获取的提交时推送才会继续。该提示保存在 refs/ogt/trash 下。

  3. 强力推

    按 Force push …。 Cancel 是默认值。

预期结果

远程分支与你重写的分支相匹配;它替换的提交保存在本地并且可以恢复。

租约保护什么

如果有人在您上次提取后推送到分支,则 GitTree 会显示 … moved 并且不会替换任何内容。获取查看移动的内容,将其带入您的分支,然后再次决定。

如果出现问题

“先获取:……没有获取上游可供租赁”

GitTree 需要知道远程分支在哪里。获取,然后再次用力推送。

“检查一下这个分支,强制推送它。”

强制推送适用于已签出的分支。先检查一下。

问题

我可以撤消强制推送吗?

撤消不会更改遥控器;再按一次即可将其改回来。您替换的提示保存在 refs/ogt/trash 下,因此您可以将其恢复为分支并推送它。