รายการ Git ของไฟล์ที่จัดขั้น


112

ฉันฉากมากของไฟล์ที่ใช้git addตอนนี้ผมต้องการที่จะเห็นไฟล์ทั้งหมดที่ผมได้จัดฉากโดยไม่ต้องไม่ได้ติดตามแฟ้มหรือเปลี่ยนแปลง แต่ unstagedไฟล์

ฉันจะทำอย่างไร? เมื่อใช้git diff --cachedฉันสามารถเห็นการเปลี่ยนแปลงของสิ่งที่ฉันจัดฉากได้ ดังนั้นแล้วฉันพยายามใช้git status --cachedแต่ที่น่าเสียดายที่ไม่ได้ทำงานบน--cachedgit status


4
เพียงแค่พิมพ์git statusจะช่วยให้คุณมีรายการไฟล์ที่จัดขั้นรายการไฟล์ที่แก้ไขแล้วยังไม่ได้จัดเตรียมและรายการไฟล์ที่ไม่ได้ติดตาม
houtanb


@houtanb git statusแสดงให้คุณเห็นความแตกต่าง (ไม่แสดงไฟล์ที่จัดฉากทั้งหมด)
Pacerier

คำตอบ:


199

วิธีที่ดีที่สุดคือการรันคำสั่ง:

git diff --name-only --cached

เมื่อคุณตรวจสอบคู่มือคุณจะพบสิ่งต่อไปนี้:

--name-only
    Show only names of changed files.

และในตัวอย่างส่วนหนึ่งของคู่มือการใช้งาน:

git diff --cached
    Changes between the index and your last commit.

เมื่อรวมเข้าด้วยกันคุณจะได้รับไฟล์ changes between the index and your last commitและShow only names of changed files.

อัปเดต: --stagedมีให้ใช้เป็นนามแฝงสำหรับ--cachedด้านบนใน git เวอร์ชันล่าสุด


13
สิ่งนี้มีประโยชน์มากเพราะช่วยให้คุณได้รับรายชื่อไฟล์ที่คุณสามารถต่อท่อ (ในกรณีของฉัน) ไปยังลินเตอร์ในตะขอแบบพรีคอมมิต
walrus

5
หากคุณเพิ่มไฟล์ด้วยgit add -N [files]จะรวมถึงไฟล์เหล่านั้นด้วยแม้ว่าจะยังไม่ได้จัดเตรียมการคอมมิตก็ตาม ด้วยเหตุนี้มันจึงไม่ตรงกับสิ่งที่เราต้องการสำหรับ pre -mit hook
Pistos

re " กระทำครั้งสุดท้าย "; ทำให้เข้าใจผิด ดีกว่าที่จะบอกว่าgit diff --cachedย่อมาจากgit diff --cached head
Pacerier
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.