ฉันจะ 'สถานะ git' ได้อย่างไรจึงไม่แสดงไฟล์ที่ไม่ได้ติดตามโดยไม่ใช้. gitignore


317

ฉันจะทำอย่างไรgit statusจึงไม่สามารถแสดงไฟล์ที่ไม่ได้ติดตามโดยไม่ต้องใช้.gitignore? ฉันต้องการรับข้อมูลสถานะการดัดแปลงสำหรับไฟล์ที่ถูกติดตามเท่านั้น

คำตอบ:


498

ใช้สิ่งนี้:

git status -uno

ซึ่งเทียบเท่ากับ:

git status --untracked-files=no

มันซ่อนอยู่เล็กน้อยในคู่มือ แต่ manpage สำหรับสถานะบอกว่า "รองรับตัวเลือกเดียวกับคอมไพล์คอมมิท" ดังนั้นนั่นคือสิ่งที่คุณต้องมอง


1
คุณเขียนสิ่งนี้อยู่ที่ไหน เข้าสู่เทอร์มินัลหรือไฟล์
FrenkyB

1
นั่นคือการดำเนินการบรรทัดคำสั่ง ไม่ใช่ไฟล์แก้ไข git config
Ross Rogers

ถ้าฉันทำเสร็จแล้วให้รีเซ็ท git - ฮาร์ด <กระทำ id> จากนั้นฉันก็คอมไพล์สถานะ - ไม่มีอะไรแสดงไฟล์ที่ไม่ได้ติดตามเท่านั้นที่แสดง
Snow Bases

130

นอกจากนี้:

git config status.showuntrackedfiles no

9
นี่เป็นสิ่งที่ยอดเยี่ยมสำหรับ repo ที่มีไฟล์ที่ไม่ได้ติดตามเหมือนหนึ่งในไดเรกทอรีหลักของคุณสำหรับ dot-files
Dave

15
Dave อาจจะ.gitignoreเป็นรายการที่ดีที่สุดสำหรับ "unknowns unknown"ในขณะที่คุณอาจต้องการดู"unknowns unknowns"ที่ปรากฏขึ้นมาใหม่
Ross Rogers

15

โปรดทราบว่าตั้งแต่git 1.8.3 (เมษายน 22d 2013)คุณจะรู้เกี่ยวกับ--untracked-files=noแม้ว่าคุณจะไม่ได้เพิ่มตัวเลือกนั้นในตอนแรก!

" git status" แนะนำให้ผู้ใช้ตรวจสอบการใช้--untracked-files=noตัวเลือกเมื่อใช้เวลานานเกินไป

ดูการกระทำ https://github.com/git/git/commit/5823eb2b28696bf0eb25f6ca35b303447869f85 :

ในที่เก็บบางแห่งผู้ใช้พบว่าgit statusคำสั่ง "" ใช้เวลานาน
คำสั่งใช้เวลาค้นหาระบบไฟล์เพื่อหาไฟล์ที่ไม่ได้ติดตาม

อธิบายการแลกเปลี่ยนที่เกิดจากตัวเลือกเริ่มต้นของnormalเพื่อช่วยให้ผู้ใช้เลือกได้อย่างถูกต้องดีขึ้นก่อนที่จะพูดถึงตัวแปรการกำหนดค่า

git statusเอกสารในขณะนี้สหรัฐฯ:

เมื่อ-uไม่ใช้ตัวเลือกไฟล์และไดเรกทอรีที่ไม่ได้ติดตามจะปรากฏขึ้น (เช่นเดียวกับการระบุnormal) เพื่อช่วยให้คุณหลีกเลี่ยงการลืมเพิ่มไฟล์ที่สร้างขึ้นใหม่
เนื่องจากใช้งานเพิ่มเติมเพื่อค้นหาไฟล์ที่ไม่ได้ติดตามในระบบไฟล์โหมดนี้อาจใช้เวลาในแผนผังการทำงานขนาดใหญ่
คุณสามารถใช้noที่จะมีgit status
การกลับมาได้อย่างรวดเร็วโดยไม่ต้องแสดงไฟล์ที่ไม่ได้ติดตาม

เริ่มต้นสามารถเปลี่ยนแปลงได้โดยใช้ตัวแปรการกำหนดค่าการบันทึกไว้ในstatus.showUntrackedFilesgit config


2
@Tepepang ขอบคุณ ฉันได้แก้ไขคำตอบเพื่อรวมลิงค์ที่เหมาะสมรวมถึงเพิ่มการกระทำที่แน่นอนซึ่งมีการแนะนำการเปลี่ยนแปลงดังกล่าว
VonC

ฉันยังใหม่กับ git - คุณช่วยบอกฉันหน่อยได้ไหมว่าจะเขียนคำสั่งเหล่านี้เพื่อไม่แสดงไฟล์ที่ไม่ได้ติดตามหรือไม่ ฉันพยายามเขียนลงในเทอร์มินัล แต่ไฟล์ที่ไม่ได้ติดตามยังคงแสดงอยู่
FrenkyB

@FrenkyB อะไรคุณพิมพ์ว่าใน terminal ของคุณ (ซึ่งปฏิบัติการโดยวิธีการและรุ่นที่คุณกำลังใช้คอมไพล์?)
VonC

OS = Windows 10 Pro, ซอร์สต้นไม้เวอร์ชัน = 1.9.10.0, ฉันจะตรวจสอบเวอร์ชั่น GIT ได้อย่างไร? สิ่งที่ฉันพิมพ์ลงในเทอร์มินัลคือ: git commit -u --untracked-files = no ฉันยังเห็นไฟล์เหล่านั้นในซอร์สต้นไม้
FrenkyB
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.