Те, що ви хочете зробити, досягається за допомогою простого старого розгалуження в git.
З приємної відповіді StackOverflow від JaredPar :
Стелажі - це спосіб збереження всіх змін у вашому ящику без реєстрації. Зміни зберігаються на сервері.
Це аналогічно фіксації для гілки та надсилання її на сервер у git.
Як це зробити:
Скажімо, ви працюєте над гілкою "master" і вирішили застосувати функцію X. Ви добре її розпочали, але тоді ваш начальник повідомляє, що функцію Y потрібно впровадити якомога швидше. Філ у наступному кубі над добровольцями, щоб закінчити функцію X, поки ви робите Y. Ось що ви робите:
Створіть нову гілку та перейдіть до неї:
$ git checkout -b feature-x
Зафіксуйте свої зміни:
$ git add filethatyouchanged.cc
$ git commit -m 'partial implementation of feature X'
Надішліть його на сервер, який Філ бачить:
$ git push origin feature-x
Поверніться до головної гілки (яка не змінилася):
$ git checkout master
Ви також можете заздалегідь створити нову гілку для функції Y:
$ git checkout -b feature-y
Тепер Філ може зняти вашу функцію X і продовжити там, де ви зупинилися:
phil$ git fetch origin
phil$ git checkout -t origin/feature-x