如何使用同构的git获得更改的文件列表?



git status可以显示当前文件夹中所有更改的文件。

isomorphic-git的status命令需要文件路径

如何使用isomorphic-git获得更改的文件列表?

谢谢。

有statusMatrix命令用于枚举多个/所有文件的状态。

列举所有修改/删除/添加文件的示例:

const FILE = 0, HEAD = 1, WORKDIR = 2, STAGE = 3;
const statusMapping = {  
"003": "added, staged, deleted unstaged",
"020": "new, untracked",
"022": "added, staged",
"023": "added, staged, with unstaged changes",
"100": "deleted, staged",
"101": "deleted, unstaged",
"103": "modified, staged, deleted unstaged",
"111": "unmodified",
"121": "modified, unstaged",
"122": "modified, staged",
"123": "modified, staged, with unstaged changes"
};
let statusMatrix = (await git.statusMatrix({ fs, dir }))
.filter(row => row[HEAD] !== row[WORKDIR] || row[HEAD] !== row[STAGE]);
let allUncommitedChanges = statusMatrix.map(row => statusMapping[row.slice(1).join("")] + ": " + row[FILE]);

最新更新