使用带租约的强制推送
在修改、变基或重置已推送的提交后,正常推送将被拒绝。 Force Push (With Lease)… 将远程分支替换为您的分支,但前提是它仍然是您上次提取分支的位置,例如 git push --force-with-lease。 GitTree 绝不会以任何其他方式强行推动。
免费已更新
免费使用 GitTree:登录后的所有本地 Git 功能。
开始之前
- 您重写了远程上已经存在的提交,并且您知道没有其他人需要它们。
在哪里可以找到它
- 命令面板:Force Push (With Lease)…。
- Force Push… 在对话框中显示远程拒绝了您的分支。
| 行动 | macOS | Windows 和 Linux |
|---|---|---|
| 首先Fetch All | ⌘⇧F | Ctrl+Shift+F |
步骤
先取
获取以便 GitTree 知道远程分支现在在哪里;租约会根据您上次获取的内容进行检查。
阅读确认信息
Force push … to …? 表示哪些提交将从远程删除,并且仅当远程仍处于您获取的提交时推送才会继续。该提示保存在
refs/ogt/trash下。强力推
按 Force push …。 Cancel 是默认值。
预期结果
远程分支与你重写的分支相匹配;它替换的提交保存在本地并且可以恢复。
租约保护什么
如果有人在您上次提取后推送到分支,则 GitTree 会显示 … moved 并且不会替换任何内容。获取查看移动的内容,将其带入您的分支,然后再次决定。
如果出现问题
“先获取:……没有获取上游可供租赁”
GitTree 需要知道远程分支在哪里。获取,然后再次用力推送。
“检查一下这个分支,强制推送它。”
强制推送适用于已签出的分支。先检查一下。
问题
我可以撤消强制推送吗?
撤消不会更改遥控器;再按一次即可将其改回来。您替换的提示保存在 refs/ogt/trash 下,因此您可以将其恢复为分支并推送它。