Іноді ви хочете змінити гілки, але ви працюєте над неповною частиною поточного проекту. Ви не хочете взяти на себе зобов’язання наполовину виконаної роботи. Git stashing дозволяє це зробити. The команда git stash дає змогу перемикати гілки без фіксації поточної гілки.
На малюнку нижче показано властивості та роль сховища щодо сховища та робочого каталогу.
Загалом значення тайника таке: надійно зберігати щось у прихованому місці .' Сенс у Git також такий самий для stash; Git тимчасово безпечно зберігає ваші дані без зобов’язань.
Сховище бере безладний стан вашого робочого каталогу та тимчасово зберігає його для подальшого використання. За допомогою git stash доступно багато варіантів. Деякі корисні параметри наведено нижче.
Схованка
Давайте розберемося за сценарієм у реальному часі. Я вніс зміни до свого проекту GitExample2 у двох файлах із двох різних гілок. Я перебуваю в безладному стані, і я ще не повністю відредагував жоден файл. Тому я хочу тимчасово зберегти його для майбутнього використання. Ми можемо сховати його, щоб зберегти його поточний статус. Щоб сховати, давайте подивимося на поточний статус сховища. Щоб перевірити поточний стан сховища, виконайте команду git status. Команда git status використовується як:
різниця між льодом і снігом
Синтаксис:
$ git status
Вихід:
З наведених вище виводів ви можете побачити статус, що є два файли, які не відстежуються design.css і новий файл.txt доступні в репозиторії. Щоб тимчасово зберегти його, ми можемо використати команду git stash. Команда git stash використовується як:
Синтаксис:
$ git stash
Вихід:
У наведеному виводі робота зберігається за допомогою команди git stash. Ми можемо перевірити статус сховища.
Як бачите, моя робота просто прихована на поточному місці. Тепер каталог очищено. На цьому етапі ви можете перемикатися між гілками та працювати над ними.
Git Stash Save (збереження тайників із повідомленням):
У Git зміни можна сховати за допомогою повідомлення. Щоб зберегти зміни за допомогою повідомлення, виконайте наведену нижче команду:
Синтаксис:
$ git stash save ''
Вихід:
Зазначений вище тайник буде збережено з повідомленням
Список схованок Git (перевірте збережені схованки)
Щоб перевірити збережені тайники, виконайте наведену нижче команду:
Синтаксис:
$ git stash list
Вихід:
У наведеному вище випадку я зробив один тайник, який відображається як ' stash@{0}: WIP на тесті: файл CSS 0a1a475 '.
Якщо у нас є кілька схованок, тоді відображатимуться всі схованки відповідно з різними ідентифікаторами схованки. Розглянемо наведений нижче результат:
Він покаже всі тайники з індексацією як тайник@{0}: тайник@{1}: і так далі.
Git Stash Застосувати
Ви можете повторно застосувати зміни, які ви щойно приховали, використовуючи команду git stash. Щоб застосувати коміт, скористайтеся командою git stash, а потім опцією apply. Він використовується як:
Синтаксис:
$ git stash apply
Вихід:
Наведений вище вихід відновлює останній тайник. Тепер, якщо ви перевірите стан сховища, воно покаже зміни, внесені у файл. Розглянемо нижче вихід:
З наведених вище виводів ви можете побачити, що сховище відновлено до попереднього стану до збереження. Він показує результат як ' Зміни не підготовлені для фіксації .'
розмір шрифту латекс
У випадку кількох схованок, ви можете використати команду «git stash apply» із наступним ідентифікатором індексу схованки, щоб застосувати певний комміт. Він використовується як:
Синтаксис:
$ git stash apply
Розглянемо наведений нижче результат:
Вихід:
Якщо ми не вказуємо схованку, Git бере останній сховок і намагається застосувати його.
Зміни Git Stash
Ми можемо відстежувати схованки та їх зміни. Щоб побачити зміни у файлі до та після операції збереження, виконайте наведену нижче команду:
Синтаксис:
$ git stash show
Наведена вище команда покаже схований файл і внесені до нього зміни. Розглянемо наведений нижче результат:
Вихід:
Java 8
Наведений вище вихід показує, що є два файли, які сховано, і дві вставки, виконані до них.
Ми можемо точно відстежити, які зміни внесено у файл. Щоб відобразити змінений вміст файлу, виконайте наведену нижче команду:
Синтаксис:
$ git stash show -p
Тут -p означає частковий запас. Дана команда покаже відредаговані файли та вміст, розгляньте наведений нижче результат:
Вихід:
Наведений вище результат показує назву файлу зі зміненим вмістом. Вона діє так само, як команда 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 Drop (Unstash)
The git stash drop Команда використовується для видалення тайника з черги. Як правило, він видаляє останній сховок. Слід бути обережним перед використанням команди stash drop, оскільки її важко скасувати, якщо її застосувати.
Єдиний спосіб повернути це, якщо ви не закриєте термінал після видалення тайника. Команда stash drop використовуватиметься як:
Синтаксис:
$ git stash drop
Вихід:
У наведених вище вихідних даних найновіший тайник (тайник@{0}) було вилучено з трьох схованок. Команда stash list перераховує всі доступні тайники в черзі.
Ми також можемо видалити певний тайник із черги. Щоб видалити певний тайник із доступних тайників, передайте ідентифікатор тайника в команду stash drop. Він буде оброблений як:
Синтаксис:
$ git stash drop
Припустімо, що в моїй черзі є два доступних сховища, і я не хочу скидати свій останній сховок, але хочу видалити старіший. Тоді він працюватиме як:
$ git stash drop stash@{1}
Розглянемо наведений нижче результат:
У наведеному вище виводі commit тайник@{1} було видалено з черги.
Git Stash Clear
The git stash clear Команда дозволяє видалити всі доступні тайники одночасно. Щоб видалити всі доступні тайники, виконайте наведену нижче команду:
Синтаксис:
$ git stash clear
це видалить усі тайники, які існують у сховищі.
альфа-бета обрізка
Вихід:
У наведеному вище виводі всі тайники видаляються. Команда git stash list порожня, оскільки в репозиторії немає схованок.
Гілка Git Stash
Якщо ви приховали певну роботу над певною гілкою і продовжуєте працювати над цією гілкою. Тоді це може створити конфлікт під час злиття. Так що роботу добре приховати на окремій гілці.
Команда git stash branch дозволяє користувачеві зберігати роботу в окремій гілці, щоб уникнути конфліктів. Синтаксис цієї гілки такий:
Синтаксис:
$ git stash branch
Наведена вище команда створить нову гілку та передасть приховану роботу над нею. Розглянемо наведений нижче результат:
Вихід:
У наведеному вище виводі прихована робота переноситься до новоствореної гілки тестування. Це дозволить уникнути конфлікту злиття на головній гілці.