我试图了解用于拉取 git 存储库的“擦除存储库并强制克隆”和“签出前清理”这两个选项之间的区别。查看这两个选项的帮助部分,两者似乎都有相似的功能,我无法找出区别。它们的外观如下:
清除存储库并强制克隆:
在构建之前删除工作区的内容,确保工作区完全新鲜。
结帐前清洁
每次签出之前,通过删除所有未跟踪的文件和目录(包括 .gitignore 中指定的文件和目录)来清理工作区。它还会将所有跟踪的文件重置为其版本状态。这可确保工作区处于与在全新的空目录中克隆和检出相同的状态,并确保您的构建不会受到先前构建生成的文件的影响。
我找不到这两个选项之间的任何比较;既不在 Jenkins/GitPlugin wiki 中,也不在堆栈溢出中,甚至在 google 中也没有。目前我们有这两个选项,但我们计划通过删除“擦除存储库并强制克隆”选项来减少构建时间。但我不想在执行此操作时破坏任何功能。如果您确定的话,请解释一下差异。提前致谢 :)
清除存储库并强制克隆将清理整个项目工作区并在构建之前再次克隆项目。这可能会耗时,具体取决于项目规模。如果项目为 1GB,则每次构建时都会下载 1GB。
结帐前清洁删除作为构建的一部分创建的文件 - 比如说您的测试结果等 - 如果文件已更新,则重置文件;如果已更新,则提取最新的更改。这可确保工作区处于与在全新的空目录中克隆和检出相同的状态。它仅下载可能只有几 MB 的增量。所以花费的时间比较少。
所以你可以继续使用结帐前清洁而不影响构建。
使用此选项已超过 4 年,没有出现任何问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)