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


347

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

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

Я розумію, що Git використовує якусь особливу ієрархію файлів і що я не можу просто перерахувати свої файли, правда?

Але як мені це робити, щоб перелічити їх та переглядати свої файли?

Відповіді:


568

Ця команда:

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

перелічує всі вже скоєні файли, які відстежуються вашим git repo.


338

Спробуйте цю команду:

git ls-files 

У цьому списку перераховані всі файли у сховищі, включаючи ті, які є лише поетапними, але ще не здійсненими.

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


3
Вихід такий самий, як відповідь вище, але лише з --namename (Короткий формат). Гарний порцеляна.
Ron E

21
Варто зазначити одне: прийнята відповідь працює на голому репо, але ця відповідь ні.
Trebor Rude

1
Ця команда Git забезпечує набагато більш чистий вихід і ідеально підходить, якщо ви просто хочете, щоб список файлів, які відстежуються Git, просто хотів.
mico

є спосіб перерахувати лише директори .. щось на кшталт git ls-directories ?
Рамеш Парік

12
Попередження: якщо ви знаходитесь у підкаталозі, він містить лише файли під цим деревом - у запитанні зазначено "всі файли у сховищі", але це справедливо лише в тому випадку, якщо ви знаходитесь у корені репо.
Вім

2

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

У наведеному вище прикладі наведено 14032aabd85b43a058cfc7025dd4fa9dd325ea97ID / SHA-1 каталогу, який я хотів вивчити. У цьому випадку в результаті вийшло, що чотири файли в цьому каталозі відслідковувалися моїм репортажем Git. Якщо в каталозі були додаткові файли, це означало б, що ці додаткові файли не відстежуються. Ви можете додавати файли, git add <file>...звичайно.


Ви також можете просто cdдо каталогу, який вас цікавить, і опустити його --full-tree.
Натан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.