การลบไฟล์ที่ไม่ใช่ที่เก็บด้วย git?


101

ฉันกำลังเขียนโค้ด Autotools และอยู่ระหว่างการพัฒนาไฟล์จำนวนมากถูกสร้างขึ้น

มีการบอกให้ git ลบไฟล์ทั้งหมดออกจากไดเร็กทอรีที่ไม่ได้เป็นส่วนหนึ่งของที่เก็บหรือไม่?

คำตอบ:


184

คุณสามารถใช้คอมไพล์ทำความสะอาด คำสั่งนี้จะลบไฟล์ / ไดเรกทอรีที่ไม่ได้ติดตาม โดยค่าเริ่มต้นจะพิมพ์เฉพาะสิ่งที่จะลบออกโดยไม่ต้องลบออกจริงๆ

กำหนด-fแฟล็กเพื่อลบไฟล์และ-dแฟล็กเพื่อลบไดเร็กทอรีว่างด้วย:

git clean -df

การลบไฟล์ที่ละเว้น:

git clean -dfx

38
โยนเข้าไป-xและทุกอย่างก็ดีพอ ๆ กับ repo ที่โคลนใหม่
Dustin

2
ฉันคิดว่าเขาหมายถึงการลบไฟล์ออกจากคอมไพล์ไม่ใช่ระบบไฟล์จริงอ๊ะ!
Andrew Marshall

คำสั่งgit cleanของตัวเองจะลบไฟล์ที่ไม่ได้ติดตามออกไปทั้งหมดยกเว้นเมื่อตัวแปรการกำหนดค่า Git clean.requireForce ถูกตั้งค่าเป็น true หากตั้งค่าเป็นเท็จจำเป็นต้องใช้ -ff เพื่อทำความสะอาดไดเร็กทอรี
อดัม

6
git เวอร์ชันล่าสุดจะผิดพลาดโดยไม่มีพารามิเตอร์ใด ๆ ต้องใช้ค่าเริ่มต้นเป็นจริงดังนั้นในการทำ dryrun คุณต้อง -n
Seb

1
ติดตาม @Dustin: git clean -ixจะแสดงให้คุณเห็นว่าจะทำความสะอาดอะไรและมีเมนูตัวเลือกให้คุณ ของโปรด.
wcochran
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.