我目前运行以下git
命令来列出所有未跟踪和修改的文件:
git ls-files -mo --exclude-standard
世界上有没有与之相当的东西NodeGit
?
我目前运行以下git
命令来列出所有未跟踪和修改的文件:
git ls-files -mo --exclude-standard
世界上有没有与之相当的东西NodeGit
?
这是我解决上述要求的方法之一:
const Git = require("nodegit");
const _ = require("lodash");
function getDirtyFiles(path) {
Git.Repository.open(path).then(function (repository) {
repository.getStatus().then(function(statusFiles) {
const dirtyFiles = _.chain(statusFiles)
.filter((statusFile) => (statusFile.isModified() || statusFile.isNew()))
.flatMap((statusDirtyFile) => statusDirtyFile.path())
.value();
console.log(dirtyFiles);
});
});
};
getDirtyFiles(process.cwd());
以下行有助于匹配-mo
参数:statusFile.isModified() || statusFile.isNew()