1

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

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

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

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

4

1 回答 1

1

解决方案不是克隆,而是初始化一个空的 git repo,并使用以下命令逐个获取每个 ref --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
于 2020-05-01T09:25:54.753 回答