logo

Git Stash

Іноді ви хочете змінити гілки, але ви працюєте над неповною частиною поточного проекту. Ви не хочете взяти на себе зобов’язання наполовину виконаної роботи. Git stashing дозволяє це зробити. The команда git stash дає змогу перемикати гілки без фіксації поточної гілки.

На малюнку нижче показано властивості та роль сховища щодо сховища та робочого каталогу.

Git Stash

Загалом значення тайника таке: надійно зберігати щось у прихованому місці .' Сенс у Git також такий самий для stash; Git тимчасово безпечно зберігає ваші дані без зобов’язань.

Сховище бере безладний стан вашого робочого каталогу та тимчасово зберігає його для подальшого використання. За допомогою git stash доступно багато варіантів. Деякі корисні параметри наведено нижче.

    Схованка Git Збереження схованки Git Список схованок Git Git stash застосувати Зміни сховища Git Git stash pop Git stash drop Очистити схованку Git Git stash гілка

Схованка

Давайте розберемося за сценарієм у реальному часі. Я вніс зміни до свого проекту GitExample2 у двох файлах із двох різних гілок. Я перебуваю в безладному стані, і я ще не повністю відредагував жоден файл. Тому я хочу тимчасово зберегти його для майбутнього використання. Ми можемо сховати його, щоб зберегти його поточний статус. Щоб сховати, давайте подивимося на поточний статус сховища. Щоб перевірити поточний стан сховища, виконайте команду git status. Команда git status використовується як:

різниця між льодом і снігом

Синтаксис:

 $ git status 

Вихід:

Git Stash

З наведених вище виводів ви можете побачити статус, що є два файли, які не відстежуються design.css і новий файл.txt доступні в репозиторії. Щоб тимчасово зберегти його, ми можемо використати команду git stash. Команда git stash використовується як:

Синтаксис:

 $ git stash 

Вихід:

Git Stash

У наведеному виводі робота зберігається за допомогою команди git stash. Ми можемо перевірити статус сховища.

Git Stash

Як бачите, моя робота просто прихована на поточному місці. Тепер каталог очищено. На цьому етапі ви можете перемикатися між гілками та працювати над ними.

Git Stash Save (збереження тайників із повідомленням):

У Git зміни можна сховати за допомогою повідомлення. Щоб зберегти зміни за допомогою повідомлення, виконайте наведену нижче команду:

Синтаксис:

 $ git stash save '' 

Вихід:

Git Stash

Зазначений вище тайник буде збережено з повідомленням

Список схованок Git (перевірте збережені схованки)

Щоб перевірити збережені тайники, виконайте наведену нижче команду:

Синтаксис:

 $ git stash list 

Вихід:

Git Stash

У наведеному вище випадку я зробив один тайник, який відображається як ' stash@{0}: WIP на тесті: файл CSS 0a1a475 '.

Якщо у нас є кілька схованок, тоді відображатимуться всі схованки відповідно з різними ідентифікаторами схованки. Розглянемо наведений нижче результат:

Git Stash

Він покаже всі тайники з індексацією як тайник@{0}: тайник@{1}: і так далі.

Git Stash Застосувати

Ви можете повторно застосувати зміни, які ви щойно приховали, використовуючи команду git stash. Щоб застосувати коміт, скористайтеся командою git stash, а потім опцією apply. Він використовується як:

Синтаксис:

 $ git stash apply 

Вихід:

Git Stash

Наведений вище вихід відновлює останній тайник. Тепер, якщо ви перевірите стан сховища, воно покаже зміни, внесені у файл. Розглянемо нижче вихід:

Git Stash

З наведених вище виводів ви можете побачити, що сховище відновлено до попереднього стану до збереження. Він показує результат як ' Зміни не підготовлені для фіксації .'

розмір шрифту латекс

У випадку кількох схованок, ви можете використати команду «git stash apply» із наступним ідентифікатором індексу схованки, щоб застосувати певний комміт. Він використовується як:

Синтаксис:

 $ git stash apply 

Розглянемо наведений нижче результат:

Вихід:

Git Stash

Якщо ми не вказуємо схованку, Git бере останній сховок і намагається застосувати його.

Зміни Git Stash

Ми можемо відстежувати схованки та їх зміни. Щоб побачити зміни у файлі до та після операції збереження, виконайте наведену нижче команду:

Синтаксис:

 $ git stash show 

Наведена вище команда покаже схований файл і внесені до нього зміни. Розглянемо наведений нижче результат:

Вихід:

Java 8
Git Stash

Наведений вище вихід показує, що є два файли, які сховано, і дві вставки, виконані до них.

Ми можемо точно відстежити, які зміни внесено у файл. Щоб відобразити змінений вміст файлу, виконайте наведену нижче команду:

Синтаксис:

 $ git stash show -p 

Тут -p означає частковий запас. Дана команда покаже відредаговані файли та вміст, розгляньте наведений нижче результат:

Вихід:

Git Stash

Наведений вище результат показує назву файлу зі зміненим вмістом. Вона діє так само, як команда git diff. The git diff команда також покаже точний результат.

Git Stash Pop (повторне застосування прихованих змін)

Git дозволяє користувачеві повторно застосувати попередні коміти за допомогою команди git stash pop. Параметр вискакування видаляє зміни зі сховища та застосовує їх до робочого файлу.

Команда git stash pop дуже схожа на git stash apply. Основна відмінність між обома цими командами — команда stash pop, яка видаляє схованку зі стеку після її застосування.

Синтаксис:

 $ git stash pop 

Наведена вище команда повторно застосує попередні коміти до сховища. Розглянемо наведений нижче результат.

Вихід:

Git Stash

Git Stash Drop (Unstash)

The git stash drop Команда використовується для видалення тайника з черги. Як правило, він видаляє останній сховок. Слід бути обережним перед використанням команди stash drop, оскільки її важко скасувати, якщо її застосувати.

Єдиний спосіб повернути це, якщо ви не закриєте термінал після видалення тайника. Команда stash drop використовуватиметься як:

Синтаксис:

 $ git stash drop 

Вихід:

Git Stash

У наведених вище вихідних даних найновіший тайник (тайник@{0}) було вилучено з трьох схованок. Команда stash list перераховує всі доступні тайники в черзі.

Ми також можемо видалити певний тайник із черги. Щоб видалити певний тайник із доступних тайників, передайте ідентифікатор тайника в команду stash drop. Він буде оброблений як:

Синтаксис:

 $ git stash drop 

Припустімо, що в моїй черзі є два доступних сховища, і я не хочу скидати свій останній сховок, але хочу видалити старіший. Тоді він працюватиме як:

 $ git stash drop stash@{1} 

Розглянемо наведений нижче результат:

Git Stash

У наведеному вище виводі commit тайник@{1} було видалено з черги.

Git Stash Clear

The git stash clear Команда дозволяє видалити всі доступні тайники одночасно. Щоб видалити всі доступні тайники, виконайте наведену нижче команду:

Синтаксис:

 $ git stash clear 

це видалить усі тайники, які існують у сховищі.

альфа-бета обрізка

Вихід:

Git Stash

У наведеному вище виводі всі тайники видаляються. Команда git stash list порожня, оскільки в репозиторії немає схованок.

Гілка Git Stash

Якщо ви приховали певну роботу над певною гілкою і продовжуєте працювати над цією гілкою. Тоді це може створити конфлікт під час злиття. Так що роботу добре приховати на окремій гілці.

Команда git stash branch дозволяє користувачеві зберігати роботу в окремій гілці, щоб уникнути конфліктів. Синтаксис цієї гілки такий:

Синтаксис:

 $ git stash branch 

Наведена вище команда створить нову гілку та передасть приховану роботу над нею. Розглянемо наведений нижче результат:

Вихід:

Git Stash

У наведеному вище виводі прихована робота переноситься до новоствореної гілки тестування. Це дозволить уникнути конфлікту злиття на головній гілці.