หมายเหตุ: หากคุณต้องการลบไฟล์จากการใช้คอมไพล์ด้านล่าง:
git rm --cached file1.txt
หากคุณต้องการลบจากฮาร์ดดิสก์ด้วย:
git rm file1.txt
หากคุณต้องการลบโฟลเดอร์ (โฟลเดอร์อาจมีไฟล์ไม่กี่ไฟล์) ดังนั้นคุณควรลบโดยใช้คำสั่งซ้ำดังนี้:
git rm -r foldername
หากคุณต้องการลบโฟลเดอร์ภายในโฟลเดอร์อื่น
git rm -r parentFolder/childFolder
จากนั้นคุณสามารถcommit
และpush
ตามปกติ อย่างไรก็ตามหากคุณต้องการกู้คืนโฟลเดอร์ที่ถูกลบคุณสามารถทำตามสิ่งต่อไปนี้: กู้คืนไฟล์ที่ถูกลบจากคอมไพล์ได้
จากเอกสาร:
git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] <file>…
ตัวเลือก
<file>…
Files to remove. Fileglobs (e.g. *.c) can be given to remove all matching files. If you want Git to expand file glob characters, you
อาจจำเป็นต้องหลบหนีพวกเขา ชื่อไดเรกทอรีนำ (เช่น dir เพื่อลบ dir / file1 และ dir / file2) สามารถกำหนดให้ลบไฟล์ทั้งหมดในไดเรกทอรีและเรียกไดเรกทอรีย่อยทั้งหมดซ้ำ แต่จะต้องกำหนดตัวเลือก -r อย่างชัดเจน
-f
--force
Override the up-to-date check.
-n
--dry-run
Don’t actually remove any file(s). Instead, just show if they exist in the index and would otherwise be removed by the command.
-r
Allow recursive removal when a leading directory name is given.
--
This option can be used to separate command-line options from the list of files, (useful when filenames might be mistaken for
ตัวเลือกบรรทัดคำสั่ง)
--cached
Use this option to unstage and remove paths only from the index. Working tree files, whether modified or not, will be left alone.
ละเลย-Unmatch
Exit with a zero status even if no files matched.
-q
--quiet
git rm normally outputs one line (in the form of an rm command) for each file removed. This option suppresses that output.
อ่านเพิ่มเติมเกี่ยวกับเอกสารอย่างเป็นทางการ
git rm
เป็นคำตอบที่ถูกต้อง แต่จำไว้ว่าไฟล์จะยังอยู่ในประวัติ หากคุณต้องการลบไฟล์เพราะมีข้อมูลที่ละเอียดอ่อนคุณจะต้องทำอะไรที่รุนแรงกว่านี้ (การเปลี่ยนประวัติโดยเฉพาะอย่างยิ่งเนื้อหาที่คุณได้ทำไปแล้วนั้นเป็นเรื่องที่ต้องทำอย่างยิ่งและควรหลีกเลี่ยงหากเป็นไปได้)