我目前正在 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) 函数有区别吗?如果是这样,我如何修改我的代码来获取特定文件的差异?
const result = await git.diff(["--", file]);
简单解决了