如何在没有提交历史的情况下创建可见的github fork?

问题描述 投票:0回答:2

假设您想要将旧的(GitHub)存储库A克隆到您自己的存储库B中。但是,您不需要任何分支,也不需要很长的提交历史记录。你想要的是一个浅层克隆作为回购的最新状态的快照。最好只使用最新的提交消息,同时仍然显示A从什么点开始分叉。这在图形上显示在GitHubs Insights > Network选项卡中,箭头从一个用户仓库转到另一个用户仓库。

问题是我到目前为止尝试过的解决方案,最终都在GitHub Network图中产生了差距。这可能是因为它们都依赖于删除/恢复.git或强制推送,这似乎导致GitHub UI断开克隆/ fork,而最终看起来像这样:

enter image description here

我不确定如何最好地表达这个问题,因为已经有几十个听起来非常相似,如果不是相同的话,虽然它们似乎都没有解决这个问题,如果有可能的话。

所以问题是:

如何在GitHub qazxsw poi图中保持forks依赖,同时仍然删除了大部分提交历史记录?

(我知道我无法移除整个历史记录并且仍然在图中连接了一些东西,但是不应该以这样的方式压缩分支,使得Network中的所有提交都变成一个压缩的提交(如所见)从叉子),而在A的所有新的是正常的?)


我看过这些答案,但它们没有多大帮助:

git github git-clone shallow-clone
2个回答
1
投票

这些行直接从git历史中生成。如果没有fork(或提交)的历史记录,那么就没有行。

简而言之,如果你想要这一行,你需要分叉。


0
投票

我认为正确的答案是:

  • 如果您以任何方式修改How can I keep my fork in sync without adding a separate remote?自己的fork(Repo-B)的pre-fork历史记录,那么Repo-A图将从fork中断开。
  • 你的GitHub前叉仍会显示它是从Insights > Network分叉的。
  • 如果您不想使用具有这么长历史的分支,请: 创建一个包含历史记录的新分支。 使用GitHubs UI创建fork,然后压缩历史记录(或用浅克隆替换内容)。
© www.soinside.com 2019 - 2024. All rights reserved.