GitHub:让fork成为“自己项目”

lymnna71  于 2022-11-20  发布在  Git
关注(0)|答案(6)|浏览(402)

我发现了一个很好的GitHub项目,我扩展了很多。我相信我的修改是好的,因为它们正在工作。但似乎原作者没有时间回顾这些修改并包括它们。事实上,甚至有可能我需要和实现的功能不在原作者的视野中,我们只是针对不同的目标。我不知道,因为我从来没有得到他的回应。
也就是说,我的贡献并没有被计入我的提交Map。只要原始仓库不接受我的贡献,情况就是这样。此外,我的工作只是被承认为工作,并没有吸引任何其他与我有相同愿景的人。这对我来说是一个更大的问题,因为我看到很多人要求这些功能。
我仍然在为原来的项目贡献我的力量,但是我发现他们不太可能被接受。现在我想让我的分叉成为一个“真实的的项目”。虽然我计划在某些时间点与原来的项目同步,但是我想重新命名它并激励人们也为我的项目贡献力量。另外,我希望GitHub能显示这个项目是被主动维护的(说到提交Map)。最后,我希望能正确地发布它。
我怎样才能完成这个任务,使我的分叉成为一个成熟的项目呢?

cig3rfwq

cig3rfwq1#

要分离fork并将其转换为GitHub上的独立仓库,请联系GitHub support
https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/#commit-was-made-in-a-fork

x6h2sr28

x6h2sr282#

要实现这一点,您需要duplicate the repository。简短版本为:
1.在GitHub上创建一个新的仓库。
1.克隆要从其父资源库分离的派生资源库。
1.将此克隆中的所有分支推送到新资源库。

vngu2lb8

vngu2lb83#

这非常简单:
1.克隆存储库:git clone git@github.com:USERNAME/REPOSITORY.git(请加倍确保已克隆)
1.删除GitHub中的存储库(设置〉选项〉删除此存储库)
1.在GitHub中创建新的空白存储库

  1. git remote set-url origin git@github.com:USERNAME/NEW_REPOSITORY.git(如果为存储库使用了相同的名称,则NEW_REPOSITORY == REPOSITORY👍🏻)
  2. git push
  3. 🙌🏻
    (我使用ssh,但如果你使用https,你的github网址看起来像https://github.com/USERNAME/REPOSITORY.git
tvokkenx

tvokkenx4#

1.转到Github Support
1.输入“detach a fork”作为主题。将出现一个 * 虚拟助手 * 的提示-单击它。

1.请按照说明操作!

结果

7tofc5zh

7tofc5zh5#

只将源代码、git提交、标记和分支传输到远程存储库:

  1. git clone --bare [old/source repository's git url]
    使用bare标志,只克隆工作目录的.git目录。
  2. cd [recently cloned repository]
  3. git push --mirror [new/target repository's git url]
    使用mirror标志,它覆盖目标存储库,并基于.git目录推送所有提交历史、标记和分支。
  • 在这个阶段,虽然新的repo是在远程级别更新的,但它的本地副本没有常规的git工作目录内容(源代码等),因为仓库是bare
  • 要在本地获取新的/target仓库的工作目录,一个简单的方法是再次克隆新的远程git仓库,或者使用现有的.git目录进行克隆,如下所述。

git clone [cloned .git directory at step 1] [new/target repository's directory]

备注:

  • 这将***不会***传递仓库的描述、拉取请求、观察器、分叉、星星观察器、分支配置(如默认分支、受保护分支等)。如果需要传递这些数据,正如其他答案所述,联系GitHub support似乎是一种方式。
  • 使用bare和mirror标志来复制git repo的想法来自这个GitHub文档。
  • 我知道这个问题已经得到了回答,但我只是添加相关信息,希望它可能会帮助其他用户。
tvz2xvvm

tvz2xvvm6#

首先你应该检查许可证是否允许你这样做,一般来说开源会强制你这样做,因为它是关于软件进化的,没有链条。如果是这样,那么就创建一个新的repo。不要忘记信任原作者,然后开始你的项目。

相关问题