it-swarm-pt.tech

Listar arquivos no repositório local do git?

Estou usando o Sparkleshare, que usa o Git para sincronizar arquivos entre meu laptop e meu servidor de backup.

Agora eu quero ser capaz de navegar nos arquivos e diretórios que eu enviei para o meu servidor, mas eu não sei como?

Eu entendo que o Git usa algum tipo de hierarquia de arquivos especiais e que eu simplesmente não consigo listar meus arquivos, certo?

Mas como eu teria que fazer para listá-los e procurar meus arquivos?

307
Daniel Holm

Este comando:

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

lista todos os arquivos já comprometidos que estão sendo rastreados pelo seu repositório git.

506
karlphillip

Tente este comando:

git ls-files 

Isso lista todos os arquivos no repositório, incluindo aqueles que estão apenas preparados mas ainda não consolidados.

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

309
amadillu

git ls-tree --full-tree -r HEAD e git ls-files retornam todos os arquivos de uma só vez. Para um projeto grande com centenas ou milhares de arquivos, e se você estiver interessado em um determinado arquivo/diretório, você pode achar mais conveniente explorar diretórios específicos. Você pode fazer isso obtendo o ID/SHA-1 do diretório que deseja explorar e, em seguida, usar git cat-file -p [ID/SHA-1 of directory]. Por exemplo:

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

No exemplo acima, 14032aabd85b43a058cfc7025dd4fa9dd325ea97 é o ID/SHA-1 do diretório que eu queria explorar. Nesse caso, o resultado foi que quatro arquivos dentro desse diretório estavam sendo rastreados pelo meu repositório do Git. Se o diretório tivesse arquivos adicionais, isso significaria que esses arquivos extras não estavam sendo rastreados. Você pode adicionar arquivos usando git add <file>..., é claro.

1
Jaime Montoya