ฉันจะยกเลิกทุกการเปลี่ยนแปลงที่เกิดขึ้นกับไดเรกทอรีของฉันหลังจากที่ล่าสุดกระทำรวมถึงการลบไฟล์เพิ่มการรีเซ็ตการแก้ไขไฟล์และบวกกลับไฟล์ที่ถูกลบ?
ฉันจะยกเลิกทุกการเปลี่ยนแปลงที่เกิดขึ้นกับไดเรกทอรีของฉันหลังจากที่ล่าสุดกระทำรวมถึงการลบไฟล์เพิ่มการรีเซ็ตการแก้ไขไฟล์และบวกกลับไฟล์ที่ถูกลบ?
คำตอบ:
รีเซ็ตการเปลี่ยนแปลงก่อน
git reset HEAD --hard
จากนั้นทำความสะอาดทุกอย่างที่ไม่ได้ติดตาม หากคุณต้องการเก็บไฟล์ที่ไม่ถูกติดตามอยู่ให้.gitignore
ระวังด้วยคำสั่งนี้
git clean -fd
-x
ตัวเลือกgit clean
เช่นกันซึ่งนำไปสู่การลบไฟล์ที่ถูกละเว้นเช่นกัน
git clean -fd
คำสั่ง
git clean -fd
จะไม่ลบไฟล์ที่ถูกละเว้น -x
จะ.
git clean -fd
จะลบโฟลเดอร์เหล่านั้นและไฟล์ที่ไม่ได้ติดตาม ทดสอบกับ git เวอร์ชั่น 1.9.1
ฉันจะยกเลิกการเปลี่ยนแปลงที่ทำในไดเรกทอรีของฉันได้อย่างไรหลังจากการกระทำครั้งสุดท้ายรวมถึงการลบไฟล์ที่เพิ่มเข้ามาการรีเซ็ตไฟล์ที่แก้ไขและการเพิ่มไฟล์ที่ถูกลบกลับมา?
คุณสามารถยกเลิกการเปลี่ยนแปลงไฟล์ที่ติดตามด้วย:
git reset HEAD --hard
คุณสามารถลบไฟล์ที่ไม่ได้ติดตามได้ด้วย:
git clean -f
คุณสามารถลบไฟล์และไดเรกทอรีที่ไม่ได้ติดตามได้ด้วย:
git clean -fd
แต่คุณไม่สามารถเลิกทำการเปลี่ยนแปลงไฟล์ที่ไม่ได้ติดตามได้
คุณสามารถลบไฟล์และไดเรกทอรีที่ถูกละเว้นและไม่ได้ติดตามได้
git clean -fdx
แต่คุณไม่สามารถเลิกทำการเปลี่ยนแปลงไฟล์ที่ถูกละเว้นได้
คุณสามารถตั้งค่าclean.requireForce
เป็นfalse
:
git config --global --add clean.requireForce false
หลีกเลี่ยงการใช้-f
( --force
) git clean
เมื่อคุณใช้
มีสองคำสั่งที่จะทำงานในสถานการณ์นี้
root> git reset - ฮาร์ดหัว ~ 1
รูท> git push -f
สำหรับคำสั่ง git เพิ่มเติมดูหน้านี้
git push -f
ไม่เกี่ยวข้องกับคำถามและในสถานการณ์นี้มีอันตราย