Wyświetlać pliki w lokalnym repozytorium git?

347

Używam Sparkleshare, który używa Git do synchronizacji plików między moim laptopem a serwerem kopii zapasowych.

Teraz chcę móc przeglądać pliki i katalogi, które przesłałem na mój serwer, ale nie wiem jak?

Rozumiem, że Git używa jakiejś specjalnej hierarchii plików i że nie mogę po prostu wyświetlić moich plików, prawda?

Ale jak mam to zrobić, aby je wyświetlić i przeglądać moje pliki?

Daniel Holm
źródło

Odpowiedzi:

568

To polecenie:

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

wyświetla listę wszystkich już zatwierdzonych plików śledzonych przez twoje repozytorium git.

karlphillip
źródło
338

Wypróbuj to polecenie:

git ls-files 

Zawiera listę wszystkich plików w repozytorium, w tym tych, które są tylko przemieszczane, ale jeszcze nie zatwierdzone.

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

amadillu
źródło
3
Taki sam wynik jak w powyższej odpowiedzi, ale z opcją --name-only (Short format). Ładna porcelana.
Ron E
21
Należy zwrócić uwagę na jedną rzecz: zaakceptowana odpowiedź działa na zasadzie repo, ale ta odpowiedź nie.
Trebor Rude
1
To polecenie Git sprawia, że ​​wyjście jest znacznie czystsze i jest idealne, jeśli chcesz tylko listę plików śledzonych przez Git.
mico
czy istnieje sposób na wylistowanie tylko direcotries… coś w stylu git ls-directories ?
Ramesh Pareek
12
Ostrzeżenie: jeśli znajdujesz się w podkatalogu, wyświetla tylko pliki w tym drzewie - pytanie brzmi „wszystkie pliki w repozytorium”, ale jest to prawdą tylko w przypadku katalogu głównego repozytorium.
wim
2

git ls-tree --full-tree -r HEADi git ls-fileszwróć wszystkie pliki jednocześnie. W przypadku dużego projektu zawierającego setki lub tysiące plików i jeśli interesuje Cię konkretny plik / katalog, wygodniejsze może być przeglądanie określonych katalogów. Możesz to zrobić, uzyskując identyfikator / SHA-1 katalogu, który chcesz przeglądać, a następnie użyć git cat-file -p [ID/SHA-1 of directory]. Na przykład:

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

W powyższym przykładzie 14032aabd85b43a058cfc7025dd4fa9dd325ea97jest to identyfikator / SHA-1 katalogu, który chciałem zbadać. W tym przypadku wynik był taki, że moje pliki repozytorium Git śledziły cztery pliki w tym katalogu. Gdyby katalog zawierał dodatkowe pliki, oznaczałoby to, że te dodatkowe pliki nie byłyby śledzone. Możesz git add <file>...oczywiście dodawać pliki za pomocą .

Jaime Montoya
źródło
Możesz także po prostu cdprzejść do katalogu, który Cię interesuje i pominąć --full-tree.
Nathan