Список файлов в локальном git repo?

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

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

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

Но как мне сделать, чтобы перечислить их и просмотреть мои файлы?

Ответы

Ответ 1

Эта команда:

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

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

Ответ 2

Попробуйте выполнить следующую команду:

git ls-files 

Здесь перечислены все файлы в репозитории, в том числе те, которые только поэтапно, но еще не выполнены.

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

Ответ 3

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>... конечно.