如何在GitHub上fork一个旧版本的项目?

13

我如何fork一个旧版本的Github项目? 我想fork一个具体提交的项目,这个提交是3b5915a21a997f88fa16a6feb5b893953a06b0b5,而这个项目是https://github.com/aseprite/aseprite,其中最近一次提交破坏了主线。 我真的想fork 1.1.8版本。

3个回答

15

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

  1. 复刻 repo。
  2. 本地克隆它:git clone git@github.com:__________
  3. 找到你想回退到的提交。
  4. 重设为该提交的 SHA:git reset __________
  5. 去除更改:git add && git stash
  6. 将更改的去除推送到 repo 中:git push --force

有了这个,我就可以导入新的 repo,而不会破坏我的应用程序。太棒了!


3
这对我来说非常有效,我必须运行 git add . - Brian Carpenter

14
  1. 复制整个项目,这是唯一的方法。

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

    $ git checkout -b my-branch 3b5915a21a

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

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

  5. 向原始项目提交拉取请求。


1

首选答案进行了小更新:

自2021年8月13日起,GitHub将从基于密码的身份验证转向基于令牌的身份验证

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

使用此令牌,只要您已将用户名和电子邮件配置到git帐户中,就可以强制推送更改到git。如果没有,请在终端上执行以下操作:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接