ฉันใช้ Git สำหรับการควบคุมเวอร์ชัน ตอนนี้ฉันต้องการลบไฟล์ทั้งหมดในที่เก็บเครื่องที่ไม่ได้ติดตาม
ฉันสามารถใช้
git status
เพื่อแสดงรายการไฟล์เหล่านี้ แต่ฉันจะลบไฟล์ทั้งหมดได้อย่างไร
ฉันใช้ Git สำหรับการควบคุมเวอร์ชัน ตอนนี้ฉันต้องการลบไฟล์ทั้งหมดในที่เก็บเครื่องที่ไม่ได้ติดตาม
ฉันสามารถใช้
git status
เพื่อแสดงรายการไฟล์เหล่านี้ แต่ฉันจะลบไฟล์ทั้งหมดได้อย่างไร
คำตอบ:
git clean -xf
หากคุณมีมันอยู่ในละเว้นการใช้งาน คุณสามารถทำได้git clean -df
แต่จะลบไดเรกทอรีที่ไม่ถูกติดตามด้วย ใช้-n
สำหรับการแห้ง
-xf
จะลบและไฟล์ที่ถูกละเว้นและนี่อาจไม่ใช่สิ่งที่คุณต้องการ ใช้-nf
และดำเนินการต่อด้วยความระมัดระวัง ดู: stackoverflow.com/questions/61212/…
วิธีการโต้ตอบของผู้ใช้:
git clean -i -fd
Remove .classpath [y/N]? N
Remove .gitignore [y/N]? N
Remove .project [y/N]? N
Remove .settings/ [y/N]? N
Remove src/com/amazon/arsdumpgenerator/inspector/ [y/N]? y
Remove src/com/amazon/arsdumpgenerator/manifest/ [y/N]? y
Remove src/com/amazon/arsdumpgenerator/s3/ [y/N]? y
Remove tst/com/amazon/arsdumpgenerator/manifest/ [y/N]? y
Remove tst/com/amazon/arsdumpgenerator/s3/ [y/N]? y
-i สำหรับการโต้ตอบ
-f สำหรับไฟล์
-d สำหรับไดเร็กทอรี
หมายเหตุ: เพิ่ม-nหรือ--dry-runเพื่อตรวจสอบสิ่งที่มันจะทำ
มีความละเอียดอ่อนที่กล่าวถึงเกี่ยวกับgit clean -f
ไฟล์และไดเรกทอรีที่ไม่ได้ติดตาม หากคุณมีไดเรกทอรีที่ไม่ได้ติดตามซึ่งมีไฟล์ซึ่งก็คือ fortiori, untracked git clean -f
จะไม่ลบไฟล์ที่ไม่ได้ติดตาม
กล่าวอีกนัยหนึ่งอาจไม่ใช่กรณีที่git clean -f
จะลบไฟล์ที่ไม่ได้ติดตามทั้งหมด คำอธิบายที่ดีกว่าgit clean -f
คือมันลบไฟล์ที่ไม่ได้ติดตามทั้งหมดที่ไม่ได้อยู่ในไดเรกทอรีที่ไม่ได้ติดตาม
git clean -f -d
จะต้องใช้เพื่อลบไฟล์ที่ไม่ได้ติดตามซึ่งอยู่ในไดเรกทอรีที่ไม่ได้ติดตามและดูเหมือนจะไม่มีทางที่จะลบไฟล์ที่ไม่ได้ติดตามได้โดยไม่ต้องลบไดเรกทอรีที่ไม่ได้ติดตามที่มีไฟล์ที่ไม่ได้ติดตาม
ใช้git clean -f -d -n
เพื่อดูว่าคุณต้องการทำอะไรเพื่อกู้คืนไดเร็กตอรี่ที่ทำงานของคุณให้เป็นไฟล์ที่ไม่มีไฟล์ที่ไม่ได้ติดตาม จากนั้นใช้git clean -f -d
ทำสิ่งนั้น