ใน Magit ความแตกต่างระหว่าง 'ที่ซ่อน' และ 'ภาพรวม' คืออะไร?


17

คู่มือการใช้ Magitรวมถึงสองชุดของ "stashing" คำสั่ง: คำสั่งกรณีที่ต่ำกว่าประหยัดซ่อนและคำสั่งบนกรณีบันทึกภาพรวม หลังจากปรึกษา Google และ Stack Overflow และgit-stash(1)หน้าคนฉันก็ยังไม่รู้ความแตกต่าง

ความแตกต่างคืออะไร?


1
ความเข้าใจของฉันคือการที่stashจะรีเซ็ต (ยกเลิก) การเปลี่ยนแปลงและsnapshotจะปล่อยให้การเปลี่ยนแปลงในพื้นที่ทำงาน (อาจมีประโยชน์หากคุณกำลังจะจัดเรียงคอมมิชชันใหม่ก่อนที่จะกด)
wvxvw

คำตอบ:


24

ทั้งตัวแปร "สะสม" และ "สแน็ปช็อต" สร้างวัตถุสะสมเดียวกัน ความแตกต่างคือเมื่อคุณสร้างสแน็ปช็อตการเปลี่ยนแปลงที่เก็บไว้จะไม่ถูกลบออกจากไฟล์ในแผนผังการทำงานและ / หรือดัชนี (เช่นเมื่อคุณถ่ายรูปเพื่อนของคุณให้มีความสุข - นั่นไม่ทำให้พวกเขาหายตัวไป ;-)

สิ่งนี้มีไว้เพื่อเป็นกลไกในการสำรองข้อมูล สมมติว่าคุณกำลังทำการ refactoring ที่ซับซ้อนและคุณเพิ่งทดสอบและรหัสที่ปรับเปลี่ยนยังคงทำงาน แต่คุณยังไม่ได้ดำเนินการ ตอนนี้เป็นเวลาที่ดีในการสร้างสแนปชอตเพื่อให้คุณมีบางสิ่งที่ต้องย้อนกลับไปหากคุณทำเลอะในภายหลัง

แน่นอนคุณสามารถสร้างคำสั่ง "wip" ชั่วคราวได้ที่สาขาที่คุณกำลังทำอยู่ นั่นคือสิ่งที่ฉันทำ

และคุณยังสามารถทำให้กระบวนการของการบันทึกการทำงานในความคืบหน้าโดยการเปิดใช้โหมด Wip ฉันมีโหมดเหล่านี้เปิดใช้งานเป็นตาข่ายความปลอดภัย แต่ฉันยังคงสร้าง wip กระทำโดยตรงในสาขาปัจจุบันหรือสร้างภาพรวม สิ่งเหล่านี้ทำงานได้ง่ายกว่าการลบข้อมูล

โปรดทราบว่า Magit มาพร้อมกับการติดตั้งของตัวเองที่เขียนใน Elisp นั่นเป็นสิ่งจำเป็นในการใช้ชุดรูปแบบสแน๊ปช็อตและชุดรูปแบบเฉพาะ worktree และ index-only Git ไม่ได้ให้บริการสิ่งเหล่านี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.