Yerel git repo'daki dosyalar listeleniyor mu?


347

Git'i dizüstü bilgisayarım ve yedekleme sunucum arasında senkronize etmek için Git'i kullanan Sparkleshare kullanıyorum.

Şimdi sunucuma yüklediğim dosyalara ve dizinlere göz atmak istiyorum, ama nasıl bilmiyorum?

Git'in bir tür özel dosya hiyerarşisi kullandığını ve dosyalarımı listeleyemediğimi anlıyorum, değil mi?

Ancak bunları listelemek ve dosyalarıma göz atmak için nasıl yapmam gerekir?

Yanıtlar:


568

Bu komut:

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

git repo'nuz tarafından izlenmekte olan tüm dosyaları listeler.


338

Bu komutu deneyin:

git ls-files 

Bu, yalnızca aşamalı olan ancak henüz tamamlanmamış dosyaları da içeren depodaki tüm dosyaları listeler.

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


3
Yukarıdaki yanıtla aynı çıktı, ancak yalnızca --name (Kısa biçim). Güzel porselen.
Ron E

21
Dikkat edilmesi gereken bir şey: kabul edilen cevap çıplak bir repo üzerinde çalışıyor, ancak bu cevap çalışmıyor.
Trebor Rude

1
Bu Git komutu daha temiz bir çıktı sağlar ve sadece Git tarafından izlenen dosyaların listesini istiyorsanız idealdir.
mico

sadece direcotries listeleme yolu var mı .. gibi bir şey git ls-directories ?
Ramesh Pareek

12
: Uyarı soru devletleri "Depoda tüm dosyaları" ama sen repo kök eğer sadece doğrudur - Bir alt dizininde ise o ağacın altında sadece listeler dosyaları.
wim

2

git ls-tree --full-tree -r HEADve git ls-filestüm dosyaları bir kerede geri gönderin. Yüzlerce veya binlerce dosya içeren büyük bir proje için ve belirli bir dosya / dizinle ilgileniyorsanız, belirli dizinleri keşfetmek için daha uygun bulabilirsiniz. Bunu, keşfetmek ve kullanmak istediğiniz dizinin ID / SHA-1'ini alarak yapabilirsiniz git cat-file -p [ID/SHA-1 of directory]. Örneğin:

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

Yukarıdaki örnekte, 14032aabd85b43a058cfc7025dd4fa9dd325ea97araştırmak istediğim dizinin ID / SHA-1'i var. Bu durumda sonuç, o dizindeki dört dosyanın Git repo'm tarafından izlenmesiydi. Dizinde ek dosyalar varsa, bu fazladan dosyaların izlenmediği anlamına gelir. git add <file>...Elbette kullanarak dosya ekleyebilirsiniz .


Ayrıca yalnızca cdilgilendiğiniz dizine gidebilir ve atlayabilirsiniz --full-tree.
Nathan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.