jenkins 擦除存储库并强制克隆与结帐前清理

2024-04-15

我试图了解用于拉取 git 存储库的“擦除存储库并强制克隆”和“签出前清理”这两个选项之间的区别。查看这两个选项的帮助部分,两者似乎都有相似的功能,我无法找出区别。它们的外观如下:

清除存储库并强制克隆:

在构建之前删除工作区的内容,确保工作区完全新鲜。

结帐前清洁

每次签出之前,通过删除所有未跟踪的文件和目录(包括 .gitignore 中指定的文件和目录)来清理工作区。它还会将所有跟踪的文件重置为其版本状态。这可确保工作区处于与在全新的空目录中克隆和检出相同的状态,并确保您的构建不会受到先前构建生成的文件的影响。

我找不到这两个选项之间的任何比较;既不在 Jenkins/GitPlugin wiki 中,也不在堆栈溢出中,甚至在 google 中也没有。目前我们有这两个选项,但我们计划通过删除“擦除存储库并强制克隆”选项来减少构建时间。但我不想在执行此操作时破坏任何功能。如果您确定的话,请解释一下差异。提前致谢 :)


清除存储库并强制克隆将清理整个项目工作区并在构建之前再次克隆项目。这可能会耗时,具体取决于项目规模。如果项目为 1GB,则每次构建时都会下载 1GB。

结帐前清洁删除作为构建的一部分创建的文件 - 比如说您的测试结果等 - 如果文件已更新,则重置文件;如果已更新,则提取最新的更改。这可确保工作区处于与在全新的空目录中克隆和检出相同的状态。它仅下载可能只有几 MB 的增量。所以花费的时间比较少。

所以你可以继续使用结帐前清洁而不影响构建。 使用此选项已超过 4 年,没有出现任何问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jenkins 擦除存储库并强制克隆与结帐前清理 的相关文章

  • 如何提供准备好的 git 提交消息?

    按照惯例 我在 git 中创建故事分支 以在其中包含 Jira 问题 ID 例如FOO 1001 我有一个脚本可以帮我做到这一点 现在 我准备了另一个脚本 用于从 Jira API 获取 FOO 1001 的标题 我想在输入时实现这一目标
  • 使用 Github for Windows 通过 SSH 处理自己的私有 Git

    现在 我正在使用 msysgit 来使用 SSH 来处理存储在 ec2 Amazon 云服务器上的我自己的私有存储库 到目前为止 我已经能够通过 Git Bash 成功连接到这些存储库 使用 ssh keygen 创建 ssh rsa 公钥
  • git 项目与存储库,根本区别是什么?

    我有两个项目当前使用 SVN 我正在迁移到 git 我注册了 gitorious 并且可以选择创建新项目或添加存储库 我刚刚开始使用 git 所以我不知道有什么区别 或者更确切地说 如果我只是在一个项目下使用存储库 这意味着什么 如果我这样
  • 如何解决22端口连接超时问题

    ssh connect to host bitbucket org port 22 Connection timed out fatal Could not read from remote repository Please make s
  • 使用 gnu make 正确构建 git 子模块

    我目前尝试编写一个 Makefile 来正确构建一个包含 git 子模块的项目 该子模块有自己的一组 makefile 并一次生成多个目标 包括一些库 该 Makefile 应具有以下属性 即使使用并行构建 也不要重建两次子模块 当子模块代
  • 如何在 Docker 容器内动态添加 Jenkins 用户和权限

    当我为 python 项目构建声明式 Jenkins 管道时 使用 Pip 时收到以下错误消息 WARNING The directory cache pip or its parent directory is not owned or
  • 是否存在用于编辑 doxygen 评论的“wiki”? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发一个相当大的开源 RTS 游戏引擎 Spring http springrts com 我最近
  • 创建 git 分支并将其合并到史诗分支

    我正在开发一个项目 例如 SO bubbleSort 我需要创建一个名为 feature version 1 的史诗分支 因此从这个史诗分支中很少有开发人员进行开发 因此为此 他们需要创建一个将分支与史诗分支分开 我的问题是我们如何合并这些
  • 詹金斯总体/阅读权限

    当在 URL 中打开我的 Jenkins 时 我似乎无法登录 它会抛出消息 用户缺少总体 读取权限 我已经尝试过answer https stackoverflow com questions 6988849 reset jenkins c
  • 安装 openstack 时发生错误:./stack.sh:137:die

    我尝试使用以下命令通过 devstack 安装 openstack git 克隆https github com openstack dev devstack git https github com openstack dev devst
  • 为什么 PS1 不更新 git 分支名称?

    PS1 w git branch grep cut b 3 100 我按上面设置我的 PS1 但在我更改分支后 它不会更新提示中的分支名称git checkout 或使用以下命令更改存储库cd 如何解决这个问题 当反引号引用位被评估时PS1
  • 如何从 Jenkins 文件调用 groovy 脚本?

    我正在尝试将 Jenkinsfile 中的内容分离成一个常规脚本来制作 但它无法调用这些脚本 这是代码 usr bin env groovy node test node stage Checkout echo BRANCH NAME en
  • 获取自分离父分支以来的提交日志,包括父分支的最新提交

    我正在尝试创建一个快速的 bash 函数 该函数返回 oneline自当前分支从其父分支分支以来的每次提交的日志 以及包括先前提交的行 这是我到目前为止所拥有的 stolen from another Stack Overflow ques
  • git 在子模块中添加远程

    gitmodule 文件有子模块 url 和路径的列表 与此类似 submodule vim bundle subRepo path vim bundle subRepo url https git com sub repo 并且在核心存储
  • Git 责备文件中的作者列表

    有没有办法找到在 repo 中编辑 java 文件中的类的作者列表git blame 作者列表必须是唯一的 我尝试使用以下命令 但它没有删除重复项 并且每行输出中都有 作者 一词 不需要对输出进行排序 但我希望获得没有任何重复的输出 git
  • 如何使用 hg Convert 将 git 分支导入到 Mercurial 中?

    我的 git 存储库中有许多分支 david Panama app git branch r origin HEAD gt origin master origin master origin newButtons origin newFo
  • 使用 groovy 向 jenkins 作业添加附加参数

    我们有一组 groovy 脚本 用户可以在他们的 jenkins 文件中调用它们来设置一些常见的作业属性 但是 我们无法弄清楚在进行此更新时如何保留其现有参数 我们的常规代码片段 def newParamsList def newbool
  • 作曲家转储自动加载和 git

    为了部署实用性 我们决定将供应商目录提交到 git 存储库中 一切正常 但是每次我们运行 Composer dump autoload 时 它都会修改以下文件 这非常烦人 因为它似乎并不代表文件的特定状态 每次重新运行它时它看起来都像一个随
  • 使用 git,如何在冲突期间“使用他们的”?

    使用 git 如何执行 使用他们的 类型的分支合并命令 该命令应该用原始版本覆盖我的本地版本 要将您的 master 替换为 origin master git checkout master git branch M master old
  • Git 中“瓷器”一词是什么意思?

    瓷器 一词偶尔出现在 Git 文档中 这是什么意思 瓷器 是通常制造厕所 有时也制造洗脸盆等其他固定装置 的材料 这与 管道 实际的管道和排水管 不同 在 管道 中 瓷器为管道提供了更用户友好的界面 Git 类比地使用这个术语 将用户通常不

随机推荐