І варіанти "приховування", і "знімок" створюють однакові сховані об'єкти. Різниця полягає в тому, що коли ви створюєте знімок, приховані зміни не видаляються з файлів робочого дерева та / або індексу. (Як і коли ви робите знімок своїх друзів, які добре проводять час - це також не зникає ;-)
Це розроблено як резервний механізм різного роду. Скажімо, ви виконуєте складний рефакторинг, і ви тільки що протестували, і модифікований код все ще працює, але ви ще цього не зробили. Зараз би вдалий час створити знімок, щоб у вас було до чого повернутися, якщо ви зіпсуєте його згодом.
Звичайно, ви можете просто створити тимчасову команду "витягнути" прямо на гілці, над якою працюєте, щоб виконати те саме. Це, як правило, те, що я роблю.
Ви також можете автоматизувати процес запису незавершеного виробництва, включивши режими Wip . У мене такі режими включені як мережа безпеки, але я все одно створюю wip-комірки безпосередньо на поточній гілці або створюю знімок. З ними легше працювати, ніж з Wip refs.
Зауважте, що Magit поставляється зі своєю власною скриньою реалізацією, написаною в Elisp. Це було необхідне для реалізації варіантів знімків та варіантів сховищ, призначених лише для робочих дерев та покажчиків. Git не пропонує жодного з цих варіантів.
stash
також скине (скасує) зміни таsnapshot
залишить зміни в робочій області (може бути корисно, якщо ви збираєтеся переставляти комісії перед натисканням).