gpt4 book ai didi

javascript - 使用node.js判断是否在git目录

转载 作者:数据小太阳 更新时间:2023-10-29 04:47:28 26 4
gpt4 key购买 nike

我正在尝试确定我的 Node 进程是否在 git 目录中运行。以下工作正常,但仍在控制台中输出 fatal error 。

function testForGit() {
try {
var test = execSync('git rev-parse --is-inside-work-tree', {encoding: 'utf8'});
} catch (e) {
}
return !!test;
}

console.log(testForGit());

当在 git 控制下的目录中时,我得到 true 作为结果。但是当在 git 控制下的目录之外时,我得到:

fatal: Not a git repository (or any of the parent directories): .git
false

我的问题:

有没有办法抑制被记录的错误?或者是否有更好的方法来确定我是否在 git 控制下的目录中?

本质上,我正在尝试做 bash 等同于

if git rev-parse --git-dir > /dev/null 2>&1; then
... do something
fi

最佳答案

如果您使用 docker 并且不想在为您的应用程序构建镜像时将 git 安装为系统级依赖项。可能是因为我们想更快地构建图像并使图像尺寸尽可能小。

@janos 提供的方式将行不通。

另一种方法是检查项目的根路径中是否有 .git 目录。但这取决于您的要求。对于我来说,这就足够了。

exports.isGitSync = function isGitSync (dir) {
return fs.existsSync(path.join(dir, '.git'))
}

关于javascript - 使用node.js判断是否在git目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37198674/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com