2014-09-18 36 views
22

Я хочу получить доступ к репозитарию с открытым git, и я хочу перечислить все файлы в репозитории.git ls-files в открытом репозитории

В обычном репозитории git я могу легко сделать это, запустив git ls-files.

Пример вывод:

$ git ls-files 
README.md 
file1.js 
file2.js 
file3.js 
folder1/file4.js 
folder2/file5.js 

В голом репозитории это не удается бесшумно. Он просто не возвращает файлы (но выходит успешно):

$ cd my-bare-repository 
$ git ls-files #returns nothing 
$ echo $? #print exit code from previous command 
$ 0 

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

ответ

34

Вы можете попробовать другую команду, какой список файлов:

git ls-tree --full-tree -r HEAD 

Согласно to this comment, команда git ls-tree работает в bare repo.

+0

Спасибо, это работает. Однако в моем текущем примере я получаю тот же вывод с и без '--full-tree' –

+3

@ JesperRønn-Jensen, у вас также есть' git ls-tree -full-tree -r -name-HEAD', чтобы перечислять только имена файлов (без превышения прав на разрешения и значения SHA BLOB) – VonC

+0

Я принимаю этот ответ, так как это больше, чем я просил :) +10 за правильность, +10 для быстрого ответа :) –

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

  • Нет связанных вопросов^_^