Список файлов в локальном git-репо? - PullRequest
308 голосов
/ 16 декабря 2011

Я использую Sparkleshare, который использует Git для синхронизации файлов между моим ноутбуком и сервером резервного копирования.

Теперь я хочу иметь возможность просматривать файлы и каталоги, которые я загрузил на свой сервер, но я не знаю, как?

Я понимаю, что Git использует какую-то особую файловую иерархию и что я не могу просто перечислить свои файлы, верно?

Но как мне составить их список и просмотреть мои файлы?

Ответы [ 3 ]

509 голосов
/ 16 декабря 2011

Эта команда:

git ls-tree --full-tree -r --name-only HEAD

перечисляет все уже зафиксированные файлы, которые отслеживаются вашим git-репо.

310 голосов
/ 18 января 2013

Попробуйте эту команду:

git ls-files 

Здесь перечислены все файлы в хранилище, включая те, которые только подготовлены, но еще не зафиксированы.

http://www.kernel.org/pub/software/scm/git/docs/git-ls-files.html

1 голос
/ 23 сентября 2018

git ls-tree --full-tree -r HEAD и git ls-files возвращают все файлы одновременно. Для большого проекта с сотнями или тысячами файлов, и если вас интересует конкретный файл / каталог, вам может быть удобнее исследовать конкретные каталоги. Вы можете сделать это, получив ID / SHA-1 каталога, который вы хотите исследовать, и затем используйте git cat-file -p [ID/SHA-1 of directory]. Например:

git cat-file -p 14032aabd85b43a058cfc7025dd4fa9dd325ea97
100644 blob b93a4953fff68df523aa7656497ee339d6026d64    glyphicons-halflings-regular.eot
100644 blob 94fb5490a2ed10b2c69a4a567a4fd2e4f706d841    glyphicons-halflings-regular.svg
100644 blob 1413fc609ab6f21774de0cb7e01360095584f65b    glyphicons-halflings-regular.ttf
100644 blob 9e612858f802245ddcbf59788a0db942224bab35    glyphicons-halflings-regular.woff
100644 blob 64539b54c3751a6d9adb44c8e3a45ba5a73b77f0    glyphicons-halflings-regular.woff2

В приведенном выше примере 14032aabd85b43a058cfc7025dd4fa9dd325ea97 - это ID / SHA-1 каталога, который я хотел изучить. В этом случае результатом было то, что четыре файла в этом каталоге отслеживались моим репозиторием Git. Если в каталоге есть дополнительные файлы, это означает, что эти дополнительные файлы не отслеживаются. Вы можете добавлять файлы, используя git add <file>..., конечно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...