0


如何只 git clone 某个 commit

前言

通常不用这样的操作,你只需要先 clone 整个仓库,再 reset 到某个 commit 即可。

然而当你遇到一个体量较大的仓库,这样 clone 可以节省时间和空间。


预定义变量

为了方便描述,先定义几个变量

#!/bin/bash -e
git_url="仓库地址"
branch_name="分支名"
tag_name="标签名"
commit_id="提交记录"

clone代码

如果你运气比较好,要下载的 commit 恰好是某个分支的最新提交,或者是某个 tag,

以下指令可以满足你的需求:(二选一)

git clone ${git_url} -b ${branch_name} --depth=1
git clone ${git_url} -b ${tag_name} --depth=1

特殊情况下,你没有这么好的运气,指令也会复杂一些:(在一个空目录中执行以下指令)

git init
git remote add origin ${git_url}
git fetch origin ${commit_id} --depth=1
git reset --hard FETCH_HEAD

总结

留个笔记,方便日后查找。

标签: git

本文转载自: https://blog.csdn.net/cluse/article/details/139921857
版权归原作者 cluse 所有, 如有侵权,请联系我们删除。

“如何只 git clone 某个 commit”的评论:

还没有评论