如何只 git clone 某个 commit

[复制链接]
发表于 2024-9-24 04:14:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
前言

通常不用这样的操纵,你只需要先 clone 整个仓库,再 reset 到某个 commit 即可。
然而当你遇到一个体量较大的仓库,这样 clone 可以节流时间和空间。

预定义变量

为了方便描述,先定义几个变量
  1. #!/bin/bash -e
  2. git_url="仓库地址"
  3. branch_name="分支名"
  4. tag_name="标签名"
  5. commit_id="提交记录"
复制代码

clone代码

假如你运气比较好,要下载的 commit 恰恰是某个分支的最新提交,大概是某个 tag,
以下指令可以满足你的需求:(二选一)
  1. git clone ${git_url} -b ${branch_name} --depth=1
  2. git clone ${git_url} -b ${tag_name} --depth=1
复制代码
特别情况下,你没有这么好的运气,指令也会复杂一些:(在一个空目录中执行以下指令)
  1. git init
  2. git remote add origin ${git_url}
  3. git fetch origin ${commit_id} --depth=1
  4. git reset --hard FETCH_HEAD
复制代码

总结

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表