在 Node.js 中使用 Simple Git 对特定文件进行 Git diff 返回整个 diff

问题描述 投票:0回答:1

我目前正在 Node.js 项目中使用 Simple Git 库来获取特定文件的差异。但是,当我使用 git.diff(["--"], file) 函数时,它返回整个 diff 而不是特定文件的 diff。这是代码片段:

GitControl.prototype.diff = async function (git, param, callback) {
  const file = param[0];
  console.log(file);
  try {
    const result = await git.diff(["--"], file);
    callback(null, JSON.stringify({ success: true, diffText: result }));
  } catch (err) {
    console.log(`GIT CONTROL DIFF ERROR OCCUR: ${err}`);
    callback(err, JSON.stringify({ success: false, error: err.message }));
  }
};

当我在终端中运行等效命令(git diff -- bin/Source/MainView.js)时,它按预期工作并返回指定文件的差异。

我已确认文件变量包含正确的文件路径(例如“bin/Source/View/qnaView.js”)。

终端中的 git diff -- 命令和 Simple Git 中的 git.diff(["--"], file) 函数有区别吗?如果是这样,我如何修改我的代码来获取特定文件的差异?

javascript node.js git diff
1个回答
0
投票
const result = await git.diff(["--", file]);

简单解决了

© www.soinside.com 2019 - 2024. All rights reserved.