在git中,如果没有暂存新文件夹,git status
将只打印文件夹名称如下:
Untracked files:
(use "git add <file>..." to include in what will be committed)
new-folder/
但一旦暂存,git status
将以这种方式打印新文件夹:
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: new-folder/new-file-1
new file: new-folder/new-file-2
new file: new-folder/new-file-3
new file: new-folder/new-file-4
...
new file: new-folder/new-file-199
new file: new-folder/new-file-200
有没有一种方法可以获得暂存更改的列表,但只获取暂存新文件夹的文件夹名称?
我正在编写一个脚本,通过git status --porcelain
在提交之前获得修改/添加/删除的文件列表。在上述情况下,列表将太长。
git diff-tree @ `git write-tree`
是一个很好的起点,可以使用任何您想要的格式选项,如名称状态和diff过滤器。