Git

Основи на Git Branch

Основи на Git Branch

Основи на Git Branching

Способността за лесно разклоняване е една от най-добрите характеристики на Git. Създаването на клонове в други системи за контрол на версиите може да бъде скъпо по отношение на пространството и изискванията за обработка. Разклоняването на Git е ефективно. Така потребителите са по-склонни да използват клонове в Git.

Разклонен работен поток

Да предположим, че сте започнали нов проект, наречен myvideogame. Той има един клон. Името по подразбиране на първоначалния клон в Git се нарича master. Той се създава автоматично.  Нека създадем хранилището на myvideogame Git.

$ mkdir myvideogame
$ cd myvideogame
$ git init

Създали сте празно хранилище на Git. Нека добавим нашия дизайн.txt файл с малко текст в него.

$ echo "Решение за дизайн 1: Добавяне на изображения" >> дизайн.текст
$ echo "Решение за дизайн 2: Напишете код" >> дизайн.текст
$ git add -A
$ git commit -m "C0: Добавен дизайнерски файл"

Нека добавим още някои промени:

$ echo "Решение за дизайн 3: Тестова игра" >> дизайн.текст
$ git add -A
$ git commit -m "C1: Модифициран дизайнерски файл"

Ако проверите историята, ще намерите:

$ git log --oneline
6a09bd6 C1: Модифициран дизайнерски файл
5f18d89 C0: Добавен дизайнерски файл

Ако проверите състоянието на Git и всички създадени клонове (с помощта на командата: git branch -a), ще видите:

$ git статус
На клона майстор
няма нищо за ангажиране, работната директория е чиста
 
$ git клон -a
* майстор

В момента имате следната ситуация:

Направили сте две ангажименти в главния клон.

Да предположим, че сте открили грешки при тестването на играта си, но не искате да решавате проблема в главния клон, защото все още не искате да се забърквате с оригиналния дизайн. Така че можете да създадете нов клон, наречен bugfix:

$ git поправка на клон

Сега, ако проверите всички клонове:

$ git клон -a
поправка на бъг
* майстор

Сега сте създали нов клон, наречен bugfix. Ситуацията може да се визуализира по следния начин:

Обаче звездата (*) до главния клон означава, че все още сте в главния. Ако направите промени, той пак ще влезе в главния клон. Можете да използвате командата за плащане, за да промените клонове:

$ git checkout корекция на грешки
Превключено към клон „корекция на грешки“

Можете да проверите кой клон използвате с помощта на командата status или “branch -a”:

$ git статус
При поправка на грешки в клона
няма нищо за ангажиране, работната директория е чиста
 
$ git клон -a
* поправка на бъг
майстор

Сега, нека поправим грешката:

$ echo "Fix Bug 1" >> дизайн.текст
$ git add -A
$ git commit -m "C2: Отстранена грешка 1"

Създали сте ситуация като тази:

Главният клон няма промяна C2. Можете лесно да проверите това, като проверите историята на двата клона.

Първо, историята на клона на корекции на грешки:

$ git статус
При поправка на грешки в клона
няма нищо за ангажиране, работната директория е чиста
 
$ git log --oneline
e8f615b C2: Отстранена грешка 1
6a09bd6 C1: Модифициран файл за проектиране
5f18d89 C0: Добавен дизайнерски файл

След това можете да превключите към главния клон и да проверите историята му:

$ git checkout master
Превключено към клон „master“
 
$ git статус
На клона майстор
няма нищо за ангажиране, работната директория е чиста
 
$ git log --oneline
6a09bd6 C1: Модифициран файл за проектиране
5f18d89 C0: Добавен дизайнерски файл

Можете да видите, че главният клон няма промените от клона на корекции на грешки.

Винаги можете да създадете нов клон от текущия клон, в който се намирате. Да предположим, че искате да създадете друг клон, който ще съдържа експериментални функции. Можете да създадете клон от master и да добавите експериментални функции към него:

$ git статус
На клона майстор
няма нищо за ангажиране, работната директория е чиста
 
$ git клон експериментално
$ git checkout експериментално
Превключено към клон „експериментално“
$ git статус
На клон експериментално
няма нищо за ангажиране, работната директория е чиста
 
$ echo "Добавяне на експериментални функции" >> дизайн.текст
 
$ git add -A
 
$ git commit -m "C3: Добавени експериментални функции"
[експериментален 637bc20] C3: Добавени експериментални функции
1 файл е променен, 1 вмъкване (+)

Ако проверите историята на експерименталния си клон, ще видите:

$ git статус
На клон експериментално
няма нищо за ангажиране, работната директория е чиста
 
$ git log --oneline
637bc20 C3: Добавени експериментални функции
6a09bd6 C1: Модифициран дизайнерски файл
5f18d89 C0: Добавен дизайнерски файл

Ще забележите, че нямате ангажимент C2, който е създаден в клона на корекции на грешки. Тъй като експерименталният клон е създаден от главния клон, той не вижда промените в корекцията на грешки. Имате следната ситуация:

Заключение

Честито! Научихте как да се разклонявате.

Git клоновете се правят лесно и бързо. Това е една от причините за популярността на Git. Ако искате да станете опитен Git потребител, трябва да станете опитен в разклоняването на Git.

Допълнително проучване:

https: // git-scm.com / book / en / v2 / Git-Branching-Basic-Branching-and-Merging

5 най-добри аркадни игри за Linux
В днешно време компютрите са сериозни машини, използвани за игри. Ако не можете да получите новия висок резултат, ще разберете какво имам предвид. В т...
Битка за Уеснот 1.13.6 Разработка освободена
Битка за Уеснот 1.13.6, издаден миналия месец, е шестата версия за разработка в 1.13.x серия и предоставя редица подобрения, най-вече на потребителски...
Как да инсталирате League Of Legends на Ubuntu 14.04
Ако сте фен на League of Legends, това е възможност за вас да тествате League of Legends. Имайте предвид, че LOL се поддържа на PlayOnLinux, ако сте п...