如何只 git clone 某个 commit

打印 上一主题 下一主题

主题 841|帖子 841|积分 2523

前言

通常不用这样的操纵,你只需要先 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企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

温锦文欧普厨电及净水器总代理

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表