Git浅克隆自特定提交以来的内容

7
我想克隆一个具有较长历史的存储库。我只对几个短暂的未合并的功能分支和master感兴趣。
为了不让自己被所有过去的历史和已合并的分支所困扰,我想要从特定的提交SHA开始进行浅克隆。
然而,到目前为止,我只找到了如何进行浅克隆的文档,这些文档仅包括最后 n 个提交(--depth),或自特定日期以来的提交(--shallow-since)。
是否有一种指定从给定提交开始进行浅克隆的方法?

类似问题:https://dev59.com/hpDea4cB1Zd3GeqPiOmY - tkruse
3个回答

5

很遗憾,Git没有这个功能,虽然实现起来很容易。

通常使用--depth就足够了:从足够的深度开始,如果不够,可以根据需要重复使用--deepen--depth进行获取。


0

目前还不可能,但如果我们知道要创建浅克隆的提交的日期时间,我们可以使用git --shallow-since=<date>命令,例如,如果我们知道提交X是在“2021-12-19T20:37:05Z”推送的,我们可以执行以下操作:

git clone --shallow-since="2021-12-19T20:37:05Z" <url>

只会提供从提交X开始的历史记录


-3

那么在特定的提交处创建一个分支,然后使用git clone --single-branch命令如何?


1
我认为这是错误的方法:我希望我的历史记录从给定的提交处开始,而不是结束。 - umläute
是的。我也想要在 xxx 之后分叉出去的所有分支(我感兴趣的)。 - umläute
哦,好的,我重新阅读了你的问题,你明确表示想要“尚未合并的功能分支和主分支”。收到。 - tymtam

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