Список всех файлов в репозитории git, не добавленных с помощью `git application add` - PullRequest
1 голос
/ 08 мая 2020

Есть ли способ перечислить все файлы, которые я добавил через 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

Одно из решений, которые я использовал, - { ссылка }. Но мне интересно, есть ли способ лучше?

1 Ответ

0 голосов
/ 08 мая 2020
  1. Используйте ls-files, чтобы перечислить все файлы в репо.
  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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...