1

有没有办法列出我通过git add(ref 1) 而不是git annex add(ref 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

我使用的解决方案之一是https://stackoverflow.com/a/61680771/7274758。但我想知道是否有更好的方法?

4

1 回答 1

0
  1. 用于ls-files列出 repo 中的所有文件。
  2. 用于annex find列出附件中的所有文件。
  3. 从上述结果中找到唯一的条目
git ls-files > ~/tmp/ls-files.list
git annex find > ~/tmp/annex-find.list
awk 'FNR==NR {a[$0]++; next} !a[$0]' ~/tmp/annex-find.list ~/tmp/ls-files.list
于 2020-05-08T13:53:56.420 回答