首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CircleCI容器的回购中缺少提交

在CircleCI容器的回购中缺少提交
EN

Stack Overflow用户
提问于 2017-05-19 06:43:13
回答 2查看 539关注 0票数 3

我正在使用CircleCI来构建一个Android私有项目。构建工作很好,但是容器上的origin/master提交历史与我在本地机器上得到的不同。

我在本地机器和容器上执行了git rev-list origin/master的不同b/w输出,并发现了相当多的差异--即容器上的回购中缺少提交。

我尝试将这个项目从Github克隆到我的本地机器上,它向我展示了相同的git提交历史(正确的提交计数),CircleCI正在做一些不同的事情吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-25 19:51:27

CircleCI 1.0做了一个浅浅的克隆,这导致了您所看到的。

在克隆回购之前,CircleCI会检查是否有“源缓存”可用。如果是这样的话,它将使用它重新创建.git/。然后,在CircleCI 1.0上进行浅层克隆。在CircleCI 2.0 (测试版)上,将完成一个标准克隆。然后,完成工作以获得正确的提交/标记。

如果要将CircleCI 1.0上的存储库转换为非浅存储库,请使用以下命令:

代码语言:javascript
复制
"[[ ! -s \"$(git rev-parse --git-dir)/shallow\" ]] || git fetch --unshallow"

在1.0中,源缓存保存在dependencies阶段之后,因此我建议在该阶段之后不要这样做,这样就可以有效地保持缓存。对于2.0,在运行save_cache步骤时保存它。

-Ricardo N Feliciano

开发人员布道者,CircleCI

票数 5
EN

Stack Overflow用户

发布于 2017-05-19 09:25:00

正如@ElpieKay在评论中提到的,这与CircleCI浅层克隆回购有关。有关完全克隆,请参阅https://github.com/prontolabs/pronto/issues/103获取circle.yml配置。例如,我做了:

代码语言:javascript
复制
checkout:
    post:
        - "[[ ! -s \"$(git rev-parse --git-dir)/shallow\" ]] || git fetch --unshallow"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44063155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档