【问题标题】:how do I fork an older version of a github project?如何 fork 旧版本的 github 项目?
【发布时间】:2017-01-25 08:10:41
【问题描述】:

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

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

【问题讨论】:

    标签: git git-commit git-fork


    【解决方案1】:
    1. 分叉整个项目。这是唯一的方法。

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

      $ git checkout -b my-branch 3b5915a21a

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

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

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

    【讨论】:

      【解决方案2】:

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

      1. fork 存储库。
      2. 在本地克隆它:git clone git@github.com:__________
      3. 找到要返回的提交。
      4. 重置为该提交的 SHA:git reset __________
      5. 摆脱更改:git add && git stash
      6. 推送删除对 repo 的更改:git push --force

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

      【讨论】:

      • 这对我来说非常有效,我必须运行git add .
      【解决方案3】:

      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"
      

      【讨论】:

        猜你喜欢
        • 2018-04-17
        • 1970-01-01
        • 2014-02-15
        • 2021-10-07
        • 1970-01-01
        • 1970-01-01
        • 2023-01-02
        • 1970-01-01
        • 2021-06-25
        相关资源
        最近更新 更多