Основе гранања Гит-а
Способност лаког гранања једна је од најбољих карактеристика Гита. Стварање грана у другим системима за контролу верзија може бити скупо у погледу простора и захтева за обраду. Гит гранање је ефикасно. Тако су корисници склонији коришћењу грана у Гит-у.
Ток гранања
Претпоставимо да сте започели нови пројекат који се зове мивидеогаме. Има једну грану. Подразумевано име почетне гране у Гиту назива се мастер. Аутоматски се креира. Створимо мивидеогаме Гит спремиште.
$ мкдир мивидеогаме$ цд мивидеогаме
$ гит инит
Креирали сте празно Гит спремиште. Додајмо наш дизајн.ткт датотеку са неким текстом.
$ ецхо "Одлука о дизајну 1: Додај слике" >> дизајн.ткт$ ецхо "Одлука о дизајну 2: Напиши код" >> дизајн.ткт
$ гит адд -А
$ гит цоммит -м "Ц0: Додата датотека дизајна"
Хајде да додамо још неке промене:
$ ецхо "Одлука о дизајну 3: Тест игра" >> дизајн.ткт$ гит адд -А
$ гит цоммит -м "Ц1: Измењена датотека дизајна"
Ако проверите историју, наћи ћете:
$ гит лог --онелине6а09бд6 Ц1: Измењена датотека за дизајн
5ф18д89 Ц0: Додата је датотека за дизајн
Ако проверите Гит статус и све гране које су створене (помоћу команде: гит бранцх -а), видећете:
$ гит статусНа мајстору гране
ништа за залагање, радни директориј чист
$ гит грана -а
* господар
Тренутно имате следећу ситуацију:
Направили сте две обавезе у главној грани.
Претпоставимо да сте пронашли грешке у тестирању игара, али не желите да решавате проблем у главној грани јер још увек не желите да се петљате са оригиналним дизајном. Тако можете створити нову грану која се зове бугфик:
$ гит исправка исправке гранеСада ако проверите све филијале:
$ гит грана -аисправка
* господар
Сада сте креирали нову грану која се зове буфик. Ситуација се може представити на следећи начин:
Међутим, звезда (*) поред главне гране значи да сте још увек у главној грани. Ако направите промене, она ће и даље ићи у главну грану. Наредбу цхецкоут можете користити за промену грана:
$ гит цхецкоут исправкаПребачено на грану „исправка исправки“
Можете провјерити коју грану користите помоћу статуса или наредбе „грана -а“:
$ гит статусНа исправци исправки грана
ништа за залагање, радни директориј чист
$ гит грана -а
* исправка грешке
господару
Сада, исправимо грешку:
$ ецхо "Исправка грешака 1" >> дизајн.ткт$ гит адд -А
$ гит цоммит -м "Ц2: Исправљена грешка 1"
Створили сте овакву ситуацију:
Главна грана нема промену Ц2. То можете лако проверити провером историје две гране.
Прво, историја гране исправки исправки:
$ гит статусНа исправци грешака за грану
ништа за залагање, радни директориј чист
$ гит лог --онелине
е8ф615б Ц2: Исправљена грешка 1
6а09бд6 Ц1: Измењена датотека за дизајн
5ф18д89 Ц0: Додата је датотека за дизајн
Тада можете прећи на главну грану и проверити њену историју:
$ гит цхецкоут мастерПребачено на грану 'мастер'
$ гит статус
На мајстору гране
ништа за залагање, радни директориј чист
$ гит лог --онелине
6а09бд6 Ц1: Измењена датотека за дизајн
5ф18д89 Ц0: Додата је датотека за дизајн
Можете видети да главна грана нема промене у грани исправки исправки.
Увек можете створити нову грану из тренутне гране у којој се налазите. Претпоставимо да желите да направите још једну грану која ће садржати експерименталне карактеристике. Можете створити грану од мастер-а и додати јој експерименталне функције:
$ гит статусНа мајстору гране
ништа за залагање, радни директориј чист
$ гит грана експериментална
$ гит цхецкоут експериментално
Пребачено на грану „експериментално“
$ гит статус
На грани експериментално
ништа за залагање, радни директориј чист
$ ецхо "Додавање карактеристика експеримента" >> дизајн.ткт
$ гит адд -А
$ гит цоммит -м "Ц3: Додате експерименталне функције"
[експериментално 637бц20] Ц3: Додате експерименталне карактеристике
1 датотека промењена, 1 уметање (+)
Ако проверите историју експерименталне гране, видећете:
$ гит статусНа грани експериментално
ништа за залагање, радни директориј чист
$ гит лог --онелине
637бц20 Ц3: Додате експерименталне карактеристике
6а09бд6 Ц1: Измењена датотека за дизајн
5ф18д89 Ц0: Додата је датотека за дизајн
Приметићете да немате Ц2 урезивање које је креирано у грани исправки исправки. Будући да је експериментална грана креирана од главне гране, она не види промене исправки грешака. Имате следећу ситуацију:
Закључак
Честитам! Научили сте како се грана.
Гит гране је лако и брзо направити. То је један од разлога Гитове популарности. Ако желите да постанете искусни Гит корисник, морате да постанете вешт у Гит гранању.
Даље истраживање:
хттпс: // гит-сцм.цом / боок / ен / в2 / Гит-Бранцхинг-Басиц-Бранцхинг-анд-Мергинг