目前我正在尝试在 GitLab CI 上测试 master 和分支之间的区别。
var branch = require('git-branch'),
gitDiffTree = require('git-diff-tree'),
path = require('path');
var branch = process.env.CI_BUILD_REF_NAME || branch.sync();
var repoPath = path.resolve(process.env.REPO || (__dirname + '/../.git'));
{
repoPath: repoPath,
gitDiffTreeOptions: {
rev: 'master..' + branch
}
}
这是我正在使用的重要代码。这在本地运行良好,但在 GitLab CI 上运行时,它显示 fatal: bad revision 'master.. branch'
两次 branch
变量都填充了相同的值。任何建议如何让它工作?它以前用于执行 rev: HEAD
但效果不是很好,因为它只测试了分支中的最新提交,而不是所有提交。
最佳答案
我遇到了类似的问题(bad revision 'master'
when running git diff master -- .
and similar commands),并使其工作如下:
- 运行
git fetch origin master
(从管道中) - 在引用 master 分支时,使用
origin/master
而不是master
我想 gitlab 获取存储库内容的方式不会导致 master
成为本地有效的分支名称。我对 git 的内部结构不够熟悉,无法准确指出原因。
关于node.js - GitLab CI 使用 Node 测试 master 和 branch 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40268460/