คำสั่ง git rm จะลบไฟล์ออกจากที่เก็บ Git คำสั่งนี้จะลบไฟล์ออกจากระบบไฟล์ของคุณ จากนั้นลบออกจากรายการไฟล์ที่ติดตามโดยที่เก็บ Git ธง –cached ช่วยให้คุณสามารถลบไฟล์ออกจากที่เก็บ Git โดยไม่ต้องลบมันออกจากระบบไฟล์ของคุณ ป>
คุณจะลบไฟล์ออกจากที่เก็บ Git ได้อย่างไร นั่นเป็นคำถามที่ดี ไม่จำเป็นเสมอไปที่คุณต้องการให้ไฟล์เป็นส่วนหนึ่งของพื้นที่เก็บข้อมูลตลอดไป คุณอาจตัดสินใจว่าไฟล์นั้นไม่จำเป็นสำหรับโปรเจ็กต์อีกต่อไป ดังนั้น คุณจะต้องลบมันออกจากที่เก็บ Git
หากต้องการลบไฟล์ออกจากที่เก็บ Git คุณสามารถใช้คำสั่ง git rm ได้ มันตรงกันข้ามกับคำสั่ง git add; มันจะลบไฟล์
ในคู่มือนี้ เราจะพูดถึงวิธีใช้คำสั่ง git rm เราจะอธิบายตัวอย่างคำสั่ง git rm เพื่อแสดงให้คุณเห็นว่ามันทำงานอย่างไร เริ่มกันเลย!
วิธีจัดการไฟล์ใน Git
ก่อนที่เราจะพูดถึงวิธีใช้คำสั่ง git rm เราต้องเข้าใจวิธีการจัดการไฟล์ในระบบควบคุมเวอร์ชัน Git ก่อน
ไฟล์ภายในที่เก็บ Git สามารถติดตามหรือยกเลิกการติดตามได้
ไฟล์ที่ติดตามคือไฟล์ที่รวมอยู่ในการคอมไพล์คอมไพล์ ไฟล์ที่ไม่ได้ติดตามคือไฟล์ที่ยังไม่ได้ถูกส่งไปยังพื้นที่เก็บข้อมูล โดยทั่วไปแล้ว ไฟล์ที่ไม่ได้ติดตามคือไฟล์ที่คุณสร้างขึ้นก่อนสร้างการคอมมิต
หากต้องการเพิ่มไฟล์ลงในคอมมิต Git คุณสามารถใช้คำสั่ง git add นี่จะทำให้เป็นไฟล์ที่ถูกติดตาม หากคุณต้องการหยุดการติดตามไฟล์ คุณสามารถใช้คำสั่ง git rm ได้
คำสั่ง git rm จะลบไฟล์หรือกลุ่มของไฟล์ออกจากที่เก็บ Git ไฟล์จะถูกลบออกจากทั้งเครื่องของคุณและที่เก็บ Git หากต้องการเก็บรักษาไฟล์ไว้ในเครื่องของคุณ ให้ใช้แฟล็ก –cached
หากไม่มีแฟล็ก คำสั่งนี้จะลบไฟล์ออกจากทั้งที่เก็บ Git และไดเร็กทอรีการทำงานในเครื่องของคุณ ซึ่งหมายความว่าจะลบไฟล์ เช่นเดียวกับคำสั่ง Linux rm ลบไฟล์ออกจากคอมพิวเตอร์
การใช้คำสั่งนี้ที่ง่ายที่สุดคือการลบไฟล์ มาลบไฟล์ชื่อ settings.json ออกจากที่เก็บ Git:
คำสั่งนี้จะลบ settings.json ออกจากพื้นที่ติดตามของที่เก็บของเรา คุณสามารถใช้คำสั่งเดียวกันนี้เพื่อลบไฟล์หลายไฟล์ โดยแยกชื่อไฟล์หรือโฟลเดอร์ที่คุณต้องการลบด้วยการเว้นวรรค:
git rm settings.json .env
การดำเนินการนี้จะลบไฟล์ settings.json และ .env ออกจากที่เก็บ
ตามค่าเริ่มต้น Git จะทำการตรวจสอบความปลอดภัยเมื่อคุณรันคำสั่ง rm เพื่อยกเลิกการสเตจและลบพาธ สิ่งนี้จะทำให้แน่ใจว่าไฟล์ในสาขาปัจจุบันของคุณเหมือนกับไฟล์ในดัชนีการแสดงละคร คุณสามารถแทนที่ลักษณะการทำงานนี้ได้โดยใช้แฟล็ก -f หรือ –force:
คุณควรใช้แฟล็ก -f เมื่อคุณแน่ใจจริงๆ ว่าต้องการลบไฟล์ มิฉะนั้น ข้อขัดแย้งในการผสานอาจเกิดขึ้นในภายหลัง หากสิ่งนี้เกิดขึ้น คุณสามารถใช้คำแนะนำของเราเกี่ยวกับวิธีแก้ไขข้อขัดแย้งในการรวมเพื่อช่วยเหลือคุณได้
Git rm –แคช
ค่าสถานะ Git rm –cached จะลบไฟล์ออกจากพื้นที่การแสดงละคร ไฟล์จากไดเร็กทอรีการทำงานจะยังคงอยู่เหมือนเดิม ซึ่งหมายความว่าคุณจะยังคงมีสำเนาของไฟล์อยู่ในเครื่อง ไฟล์จะถูกลบออกจากดัชนีที่ติดตามโครงการ Git ของคุณ
มาลบไฟล์แผนผังการทำงาน settings.json ออกจากที่เก็บของเรา แต่เก็บไว้ในไดเร็กทอรีโปรเจ็กต์ของเรา:
git rm --cached settings.json
เมื่อเราผลักดันการคอมมิตครั้งถัดไป ไฟล์ settings.json จะถูกลบออก
ตราบใดที่มีไฟล์อยู่ในไดเร็กทอรีการทำงานในเครื่องของคุณ คุณสามารถเพิ่มกลับเข้าไปในที่เก็บ Git ของคุณได้ คุณสามารถทำได้โดยใช้คำสั่ง git add อ่านเพิ่มเติมเกี่ยวกับ git add ในบทช่วยสอนของเราเกี่ยวกับคำสั่ง git add
วิธีเลิกทำคำสั่ง git rm
คำสั่ง git rm จะอัพเดตเฉพาะพื้นที่การแสดงละครและไดเร็กทอรีการทำงานจนกว่าจะมีการคอมมิต ซึ่งหมายความว่าคุณสามารถย้อนกลับคำสั่งได้ หากต้องการเลิกทำคำสั่ง git rm คุณสามารถรีเซ็ตพื้นที่เก็บข้อมูลของคุณเป็นคอมมิตครั้งล่าสุดได้โดยใช้การรีเซ็ต git:
คอมมิต Git HEAD แสดงถึงคอมมิตสุดท้ายในพื้นที่เก็บข้อมูลของเรา ดังนั้น คำสั่งนี้จะแปลงพื้นที่เก็บข้อมูลของเรากลับไปเป็นการกระทำครั้งล่าสุด
คุณสามารถคืนค่าคำสั่ง git rm ได้แม้ว่าคุณจะได้ทำการเปลี่ยนแปลงกับที่เก็บแล้วก็ตาม ในการทำเช่นนั้น คุณสามารถใช้คำสั่ง git reset และระบุแฮชของการคอมมิตที่คุณต้องการเปลี่ยนกลับ:
git reset a7e3cce9637c74281e6590003b39d3990bbb2731
เรากำลังเปลี่ยนที่เก็บ git กลับเป็นคอมมิตก่อนหน้านี้ สตริงตัวอักษรหลังคำว่า “รีเซ็ต” คือแฮชของการคอมมิตครั้งสุดท้าย
เมื่อเราคืนพื้นที่เก็บข้อมูลแล้ว เราจะสามารถดูได้ว่าพื้นที่เก็บข้อมูลนั้นปรากฏก่อนการคอมมิตอย่างไร ซึ่งหมายความว่าไฟล์ของเราจะยังคงถูกจัดฉาก กล่าวอีกนัยหนึ่ง คำสั่ง git rm ของเราจะถูกเลิกทำ
Git rm กับ rm
คำสั่ง git rm จะลบไฟล์ออกจากทั้งเครื่องที่ใช้งานและที่เก็บ Git ในทางกลับกัน คำสั่ง rm จะไม่ลบไฟล์ออกจากที่เก็บ Git
หากคุณต้องการลบไฟล์ออกจากที่เก็บ Git คุณต้องใช้ git rm เนื่องจากคำสั่ง git rm ดำเนินการคำสั่งเพื่อลบไฟล์ออกจากที่เก็บ Git ไม่ใช่ทุกไฟล์บนระบบ Linux จะอยู่ในที่เก็บ Git ดังนั้นคำสั่ง Linux rm จะไม่ลบไฟล์ออกจากที่เก็บ Git
บทสรุป
คำสั่ง git rm ช่วยให้คุณสามารถลบไฟล์ออกจากที่เก็บ Git และไดเร็กทอรีการทำงานของคุณ หากคุณต้องการลบไฟล์ออกจากที่เก็บ Git ของคุณ คุณสามารถใช้แฟล็ก –cached ได้

"อาชีพกรรมเข้ามาในชีวิตของฉันเมื่อฉันต้องการมันมากที่สุดและช่วยให้ฉันเข้ากับหลักสูตรฝึกหัดได้อย่างรวดเร็ว สองเดือนหลังจากสำเร็จการศึกษา ฉันพบงานในฝันที่สอดคล้องกับค่านิยมและเป้าหมายในชีวิตของฉัน!"
Venus วิศวกรซอฟต์แวร์ที่ Rockbot
ค้นหาการแข่งขัน Bootcamp ของคุณ
ตอนนี้คุณก็พร้อมที่จะใช้คำสั่ง git rm เหมือนผู้เชี่ยวชาญบรรทัดคำสั่งแล้ว!
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการทำงานกับ Git โปรดอ่านคู่มือวิธีเรียนรู้ Git ของเรา