git-recover
ช่วยให้คุณสามารถกู้คืนไฟล์บางไฟล์ที่คุณถูกลบออกจากไดเรกทอรีการทำงานของคุณโดยไม่ได้ตั้งใจ มันช่วยให้คุณค้นหาไฟล์ที่มีอยู่ในฐานข้อมูลวัตถุของที่เก็บ - เพราะคุณ Run git add
- แต่ไม่เคยมุ่งมั่น
วิธีที่ง่ายที่สุดในการใช้ git-recover
นั้นอยู่ในโหมดอินเทอร์แอคทีฟ -เพียงเรียกใช้ git-recover -i
และมันจะแสดงไฟล์ทั้งหมดที่คุณสามารถกู้คืนและแจ้งให้คุณดำเนินการได้
การเรียกใช้ git-recover
โดยไม่มีข้อโต้แย้งใด ๆ จะแสดงรายการไฟล์ทั้งหมด (git "blobs") ที่เพิ่งเกิดขึ้นเมื่อเร็ว ๆ นี้โดย ID ของพวกเขา (ไม่ทราบชื่อไฟล์ของพวกเขา)
คุณสามารถตรวจสอบ blobs เหล่านี้ได้โดยเรียกใช้ git show <objectid>
หากคุณพบสิ่งที่คุณต้องการกู้คืนคุณสามารถให้ ID เป็นอาร์กิวเมนต์ที่จะ git-recover
คุณสามารถระบุตัวเลือก --filename
เพื่อเขียนไฟล์ออกและใช้ตัวกรองใด ๆ ที่ตั้งค่าในที่เก็บ ตัวอย่างเช่น:
git-recover 38762cf7f55934b34d179ae6a4c80cadccbb7f0a --filename shattered.pdf
นอกจากนี้คุณยังสามารถระบุหลายไฟล์เพื่อกู้คืนแต่ละไฟล์มีชื่อไฟล์เอาต์พุตเสริม:
git-recover 38762c --filename one.txt cafebae --filename bae.txt
หากคุณต้องการกู้คืน blobs กำพร้า ทั้งหมด ในที่เก็บของคุณให้เรียกใช้ git-recover --all
สิ่งนี้จะเขียนไฟล์เด็กกำพร้าทั้งหมดไปยังไดเรกทอรีการทำงานปัจจุบันดังนั้นจึงเป็นการดีที่สุดที่จะเรียกใช้สิ่งนี้ภายในไดเรกทอรีชั่วคราวใต้ไดเรกทอรีการทำงานของคุณ ตัวอย่างเช่น:
mkdir _tmp && cd _tmp && git-recover --all
โดยค่าเริ่มต้น git-recover
จะ จำกัด ตัวเองเป็น blobs กำพร้าที่สร้างขึ้นเมื่อเร็ว ๆ นี้ หากคุณต้องการดูไฟล์กำพร้า ทั้งหมด ที่สร้างขึ้นในที่เก็บของคุณ (แต่ยังไม่ได้รวบรวมขยะ) คุณสามารถเรียกใช้:
git-recover --full
git-recover [-a] [-i] [--full] [<id> [-f <filename>] ...]
-a
, --all
เขียน blobs กำพร้าทั้งหมดลงในไดเรกทอรีการทำงานปัจจุบัน แต่ละไฟล์จะถูกตั้งชื่อโดยใช้รหัสวัตถุ 40 ตัวอักษร
-i
, --interactive
แสดงข้อมูลเกี่ยวกับหยดกำพร้าแต่ละอันและแจ้งให้กู้คืน
--full
แสดงรายการหรือกู้คืน blobs กำพร้าทั้งหมดแม้กระทั่งที่อยู่ในแพ็คไฟล์ โดยค่าเริ่มต้น git-recover
จะดูที่ไฟล์วัตถุที่หลวมเท่านั้นซึ่ง จำกัด ไว้ในไฟล์ที่สร้างขึ้นล่าสุด การตรวจสอบแพ็คไฟล์อาจช้าโดยเฉพาะในที่เก็บขนาดใหญ่
<id>
ID วัตถุ (หรือตัวย่อ) เพื่อกู้คืน ไฟล์จะถูกเขียนไปยังไดเรกทอรีการทำงานปัจจุบันและตั้งชื่อโดยใช้รหัสวัตถุ 40 ตัวอักษรเว้นแต่จะระบุตัวเลือก -f
-f <filename>
, --filename <filename>
เมื่อระบุหลังจาก ID วัตถุไฟล์ที่เขียนจะใช้ชื่อไฟล์นี้ นอกจากนี้ตัวกรองใด ๆ (ตัวอย่างเช่น: การแปลง CRLF หรือ GIT-LFS) จะทำงานตามการกำหนดค่า gitattributes
ในการรายงานข้อบกพร่องรับความช่วยเหลือหรือจัดเตรียมการแก้ไขข้อผิดพลาดให้กับโปรแกรมนี้ลองดูที่ GitHub
ลิขสิทธิ์ (C) Edward Thomson สงวนลิขสิทธิ์
Git-Recover เป็นซอฟต์แวร์โอเพ่นซอร์สและสามารถใช้ได้ภายใต้ใบอนุญาต MIT โปรดดูไฟล์ LICENSE
ที่ให้ข้อมูลเพิ่มเติมสำหรับข้อมูลเพิ่มเติม