我如何 fork 旧版本的 github 项目?

how do I fork an older version of a github project?

如何 fork 一个 github 项目的旧版本? 我想分叉一个项目的特定提交,提交 3b5915a21a997f88fa16a6feb5b893953a06b0b5

项目: https://github.com/aseprite/aseprite,最近的一次提交打破了主线。好想fork fork version 1.1.8.

  1. 分叉整个项目。这是唯一的方法。

  2. 从该提交创建一个新分支。

    $ git checkout -b my-branch 3b5915a21a

  3. 提交对您的分支的更改。

  4. 将更改推送到您的分支存储库。

  5. 向原始项目提交合并请求。

最近我不得不对 aws-sdk-go 做同样的事情,因为他们停止支持 Go 1.4,但是 AWS 将我的预配置 Docker 配置锁定在 Go 1.4,无法升级到 Go 1.5。

  1. 分叉回购协议。
  2. 在本地克隆:git clone git@github.com:__________
  3. 找到您要返回的提交。
  4. 重置为该提交的 SHA:git reset __________
  5. 摆脱变化:git add && git stash
  6. 推送删除对 repo 的更改:git push --force

这样我就可以导入不会破坏我的应用程序的新存储库了。哇哦!

preferred answer的小更新:

自 2021 年 8 月 13 日起,github 将从基于密码的身份验证转向 Token based authentication

在该过程的最后一步之前,您可以在您的个人资料上创建一个令牌: https://github.com/settings/tokens

有了这个令牌,您可以强制将您的更改推送到 git,只要您配置了您的用户名和电子邮件到您的 git 帐户。如果没有,您可以在您的终端上使用这些:

git config --global user.email "you@example.com"
git config --global user.name "Your Name"