列出 git repo 中所有未被 `git annex add` 添加的文件
List all files in git repo not added by `git annex add`
有没有办法列出我通过 git add
(参考 1)而不是 git annex add
(参考 2)添加的所有文件?
mkdir myrepo
cd myrepo
git init .
mkdir foo
dd if=/dev/random of=foo/bar.ext count=1024 bs=1024
git add foo # <----- ref 1
git commit -m "add foo"
git annex init "listing"
mkdir baz
dd if=/dev/random of=baz/abc.ext count=1024 bs=1024
dd if=/dev/random of=baz/efg.ext count=2024 bs=1024
dd if=/dev/random of=baz/xyz.ext count=512 bs=1024
git annex add baz # <---- ref 2
git commit -m "add baz"
所以当我 运行 git <some command>
它应该显示类似
foo/bar.ext
我使用的解决方案之一是 。但是我想知道有没有更好的方法?
- 使用
ls-files
列出存储库中的所有文件。
- 使用
annex find
列出附件中的所有文件。
- 找到 unique entries from the above results
git ls-files > ~/tmp/ls-files.list
git annex find > ~/tmp/annex-find.list
awk 'FNR==NR {a[[=10=]]++; next} !a[[=10=]]' ~/tmp/annex-find.list ~/tmp/ls-files.list
有没有办法列出我通过 git add
(参考 1)而不是 git annex add
(参考 2)添加的所有文件?
mkdir myrepo
cd myrepo
git init .
mkdir foo
dd if=/dev/random of=foo/bar.ext count=1024 bs=1024
git add foo # <----- ref 1
git commit -m "add foo"
git annex init "listing"
mkdir baz
dd if=/dev/random of=baz/abc.ext count=1024 bs=1024
dd if=/dev/random of=baz/efg.ext count=2024 bs=1024
dd if=/dev/random of=baz/xyz.ext count=512 bs=1024
git annex add baz # <---- ref 2
git commit -m "add baz"
所以当我 运行 git <some command>
它应该显示类似
foo/bar.ext
我使用的解决方案之一是
- 使用
ls-files
列出存储库中的所有文件。 - 使用
annex find
列出附件中的所有文件。 - 找到 unique entries from the above results
git ls-files > ~/tmp/ls-files.list
git annex find > ~/tmp/annex-find.list
awk 'FNR==NR {a[[=10=]]++; next} !a[[=10=]]' ~/tmp/annex-find.list ~/tmp/ls-files.list