2013-03-25 5 views
324

Использование командной строки git, как я могу заставить git показать список файлов, которые отслеживаются в репозитории?Как я могу сделать git показать список файлов, которые отслеживаются?

+2

Возможный дубликат [Список файлов в локальном git repo?] (Http://stackoverflow.com/questions/8533202/list-files-in-local-git-repo) –

+0

Я считаю, что это так. Но это не кажется правильным отметить это как дуп, когда у этого есть лучший ответ. – lindhe

+2

в параллельной юниверсе, это странно, как подобный [этот вопрос] (https://superuser.com/q/429693/571125) включает в себя все ответы, но каждый имеет свой собственный отличительный талант. –

ответ

392

Если вы хотите перечислить все файлы в настоящее время отслеживаемых под ветвью master, вы могли бы использовать эту команду:

git ls-tree -r master --name-only 

Если вы хотите получить список файлов, которые когда-либо существовали (т.е. включая удаленные файлы):

git log --pretty=format: --name-only --diff-filter=A | sort - | sed '/^$/d' 
+26

Использовать git ls-tree -r HEAD - имя-только, если вы хотите отобразить файлы текущей ветки – Ramast

+1

Почему каталоги не указаны? – Shuzheng

+7

@NicolasLykkeIversen - 'git' напрямую не поддерживает каталоги версий. Вместо этого он хранит файлы и их пути. 'ls-tree' выведет все файлы с версией. Чтобы лучше понять это различие, попробуйте установить пустой каталог в 'git'. Пустой каталог никогда не будет отображаться в поэтапных изменениях. Единственный способ версии такого пустого каталога - фактически запустить файл под каталогом. Для случаев использования, где вам нужен такой пустой каталог-заполнитель в управлении версиями, вы можете создать фиктивный файл в каталоге и версию. Надеюсь, объяснение будет ясным. – Tuxdude

132

Файлы, управляемые git, показаны на git ls-files. Проверьте его страницу руководства.

+2

Это похоже только на файлы в каталоге или ниже текущего каталога. –

+6

Помните, если я отредактирую это, чтобы включить соответствующие разделы страницы руководства? –

+0

@NathanBasanese, возможно, вы можете добавить еще один ответ с этой информацией. –

Смежные вопросы