รายการไฟล์ใน repo git ท้องถิ่น?


347

ฉันใช้ Sparkleshare ซึ่งใช้ Git เพื่อซิงค์ไฟล์ระหว่างแล็ปท็อปและเซิร์ฟเวอร์สำรองของฉัน

ตอนนี้ฉันต้องการที่จะสามารถเรียกดูไฟล์และ dirs ที่ฉันอัปโหลดไปยังเซิร์ฟเวอร์ของฉัน แต่ฉันไม่ทราบได้อย่างไร

ฉันเข้าใจว่า Git ใช้ลำดับชั้นของไฟล์พิเศษบางอย่างและฉันไม่สามารถแสดงรายการไฟล์ได้ใช่ไหม

แต่ฉันจะต้องทำอย่างไรเพื่อแสดงรายการและเรียกดูไฟล์ของฉัน

คำตอบ:


568

คำสั่งนี้:

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

แสดงรายการไฟล์ที่คอมมิทแล้วที่ถูกติดตามโดย git repo ของคุณ


338

ลองคำสั่งนี้:

git ls-files 

สิ่งนี้แสดงรายการไฟล์ทั้งหมดในที่เก็บรวมถึงไฟล์ที่ถูก staged เท่านั้น แต่ยังไม่ถูกคอมมิต

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


3
เอาต์พุตเช่นเดียวกับคำตอบข้างต้น แต่มี - ชื่อเท่านั้น (รูปแบบสั้น) เครื่องลายครามที่ดี
Ron E

21
สิ่งหนึ่งที่ควรทราบ: คำตอบที่ยอมรับใช้งานได้กับ repo ที่เปลือยเปล่า แต่คำตอบนี้ไม่ได้
Trebor Rude

1
คำสั่ง Git นี้สร้างเอาต์พุตที่สะอาดขึ้นและเหมาะอย่างยิ่งหากคุณต้องการรายการไฟล์ที่ติดตามโดย Git
แฟลช

มีวิธีรายการ direcotries เท่านั้น .. เป็นgit ls-directories อย่างไร
Ramesh Pareek

12
คำเตือน:หากคุณอยู่ในไดเรกทอรีย่อยจะแสดงเฉพาะไฟล์ที่อยู่ใต้ต้นไม้นั้น - คำถามจะระบุว่า "ไฟล์ทั้งหมดในที่เก็บข้อมูล" แต่นั่นเป็นความจริงหากคุณอยู่ในรากของ repo เท่านั้น
Wim

2

git ls-tree --full-tree -r HEADและgit ls-filesส่งคืนไฟล์ทั้งหมดพร้อมกัน สำหรับโครงการขนาดใหญ่ที่มีไฟล์หลายร้อยหรือหลายพันไฟล์และหากคุณสนใจในไฟล์ / ไดเรกทอรีเฉพาะคุณอาจสะดวกกว่าในการสำรวจไดเรกทอรีเฉพาะ คุณสามารถทำมันโดยได้รับบัตรประจำตัวประชาชน / SHA-1 git cat-file -p [ID/SHA-1 of directory]ของไดเรกทอรีที่คุณต้องการที่จะสำรวจและการใช้งานแล้ว ตัวอย่างเช่น:

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

ในตัวอย่างด้านบน14032aabd85b43a058cfc7025dd4fa9dd325ea97เป็น ID / SHA-1 ของไดเรกทอรีที่ฉันต้องการสำรวจ ในกรณีนี้ผลลัพธ์คือไฟล์สี่ไฟล์ภายในไดเรกทอรีนั้นกำลังถูกติดตามโดย repo Git ของฉัน หากไดเรกทอรีมีไฟล์เพิ่มเติมหมายถึงไฟล์พิเศษเหล่านั้นไม่ได้ถูกติดตาม คุณสามารถเพิ่มไฟล์โดยใช้git add <file>...แน่นอน


คุณสามารถcdไปยังไดเรกทอรีที่คุณสนใจและไม่ใช้--full-treeก็ได้
นาธาน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.