使用Github web界面或桌面应用程序重置或恢复Gist到旧的提交状态



我正在尝试通过web界面或Github Desktop应用程序回滚Gist到较旧的状态。我已经看到了解决方案,似乎显示了如何使用命令行执行此操作。然而,我不知道如何在不使用命令行界面的情况下做到这一点。

命令行是回滚历史的唯一途径吗?如果是这样,网页界面和桌面应用程序的这种限制是有原因的吗?

git clone

使用以下uri之一克隆git

$ git clone git@gist.github.com:<gist_hash>
$ git clone git@github.com:<gist_hash>.git
# navigate to directory
$ cd <gist_hash>

变基

更新你的分支,如使用rebase

$ git rebase --interactive
pick 8c199dc 8c199dc373b5be96df92131e3c0631514636583d
- pick dc968d3 dc968d3e2cb3a571ed50233047c3d83ba3f6e209

力推动

你必须强迫你的更改覆盖以前的提交

$ git push -f

我的意思是将我的状态设置为过去的状态,本质上是擦除所有提交

这被称为git重置,通常不赞成在同一个远程repo上进行协作:git push—force发布修改过的历史记录,并强制其他人小心地重置自己的克隆,以避免错误地重新引入已删除的提交。

这就是为什么这样的特性不暴露在GUI中。
虽然,当涉及到gist(通常仅由其GitHub帐户所有者管理)时,可以考虑允许通过GUI更容易地重置。然而,现在情况并非如此,可能是为了保持GitHub for Desktop的常规GitHub repos和gist repos之间的用户界面一致。

我会手动找到我想要还原到的修订,复制该修订的标记,并使用该标记创建一个新的修订。

  1. 点击"修订"选项卡
  2. 向下滚动到我想恢复到
  3. 的版本
  4. 点击"查看"按钮,查看修改的html
  5. 点击"Raw"按钮,查看修改版本的降价
  6. 复制
  7. 点击"编辑"按钮,粘贴该标记,然后点击"更新"按钮

最新更新