繁体   English   中英

git 浅层克隆 *几个*特定的参考(提交),*不是分支*

[英]git shallow clone *several* specific refs (commits), *which are not branches*

对于我的特定用例,我只需要一个浅的 git 克隆,它只包含两个特定的提交,没有其他内容(没有剩余的历史记录,没有其他分支)。

以下是我尝试过的一些事情:

  • 我想获取两个参考,因此git clone --single-branch --branch BRANCHNAME不好,因为它只获取一个分支
  • 我想获取不是分支名称的引用(例如4ebbd7cc6fc139d960 ),这是git clone --single-branch --branch BRANCHNAME的另一个原因。
  • 我想要真正最小的历史。 只有这两个提交,没有别的。 这两个提交之间可以有任意长的 git 历史,并且有数百个分支。 因此,做git clone --depth N --no-single-branch不好,因为它会获取我不需要的所有分支和标签,而且我不知道什么是好的N ,所以即使没有分支和标签,我也会过度获取。

准确获取n 次提交的正确方法是什么

解决方案不是克隆,而是初始化一个空的 git 存储库,并使用--depth 1逐个获取每个引用:

mkdir FOLDER_NAME
cd FOLDER_NAME
git init
git remote add origin GIT_URL
git fetch --depth 1 origin REF1
git fetch --depth 1 origin REF2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM