Здравствуй, уважаемый друг!

Кажется, ты используешь AdBlock. Этот проект развивается и существует за счет доходов от рекламы.
Добавь, пожалуйста, нас в исключения.

Спасибо за понимание.

Создание сайтов Харьков

GIT: работа с ветками

12 ноября 2016 в 21:53 Автор: Nikita_Sp в категории Создание сайтов 2 комментария

В предыдущей статье мы уже познакомились и научились основам работы с GIT. Мы научились использовать команды инициализации (создания) репозитория git init, научились добавлять в него файлы при помощи команды git add, а также сохранять (фиксировать) изменения в репозитории при помощи команды git commit. В данной статье мы поговорим о ветках.

Ветки в GIT

Ветки в системе GIT позволяют разделять ваш проект на версии, на отдельные независимые проекты. Данная функция очень полезна если, например, основная версия проекта выгружается непосредственно в рабочий каталог где расположен проект, т.е. запускается в продакшн, но при этом вы все еще ведете доработку проекта и дополняете его функционалом, или если два разработчика работают над разным функционалом, и чтобы не мешать друг другу — каждый работает в своей ветке.

Итак, перейдем к практике. Из предыдущей статьи у нас уже остался наш репозиторий для обучения и в нем сейчас создана автоматически основная ветка «master«. Давайте добавим новую ветку, используя команду git branch и назовем ее «ver-1.0». Когда ветка создана, мы можем перейти к ней используя команду git checkout. Обратите внимание на то, что консоль всегда отображает текущую выбранную ветку.

Создаем новую ветку в GIT

Теперь мы можем добавить или удалить файлы из репозитория или внести в существующие изменения, после чего все эти изменения добавляем путем команды git add и сохраняем в репозиторий командой git commit.

Обновляем ветку в GIT

Вернемся в нашу ветку master, при помощи команды git checkout master, и внесем в нее несколько изменений. Например добавим файл master.php чтобы явно различать ветки визуально. Для перехода к ветке master необходимо ввести команду git checkout master. Обратите внимание, что после смены ветки наш файл «test-file-for-ver-1.0.php» исчез, собственно как и все наши изменения в файлах.

3-0-checkout-master

3-1-checkout-master

Вносим изменения в главную ветку в GIT

Давайте посмотрим на историю нашего репозитория, используя команду git hist из предыдущей статьи. Мы должны увидеть все коммиты в данной ветке и не увидим коммитов нашей новой ветки ver-1.0. Для того чтобы увидеть и их необходимо добавить параметр —all к нашей команде чтобы она выглядела следующим образом:

git hist --all

История изменений GIT репозитория

Таким образом мы получили две версии (ветки) одного и того же проекта (репозитория), но каждая из которых имеет свои дополнения и теперь нам необходимо их слить в одну ветку. Для этого выберем ветку которая будет основной (т.е. в которую будут сливать изменения), обычно это master, и она у нас сейчас активна, используя команду git merge.

git merge ver-1.0

После ввода данной команды у вас появится окно с просьбой ввести описания для этого слияния если это необходимо (собственно тоже самое будет если при коммите не указать параметр -m «Ваше сообщение о коммите»). Для того чтобы написать сообщение достаточно нажать «i», ввести сообщение, нажать «esc», ввести «:wq», что обозначает «write, quit».Сообщение при слиянии веток GIT репозитория

Успешное слияние веток GIT репозитория

Обратите внимание, файлы и изменения из ветки ver-1.0 были перемещены в нашу текущую ветку, а сама ветка была завершена слиянием. Для того чтобы в этом убедиться, введите снова команду git hist —all и посмотрите что выдаст вам график.

История изменений репозитория GIT с ветками

На этом все, пробуйте, экспериментируйте, пишите комментарии. Сегодня мы научились работать с ветками в распределенной системе контроля версий. В следующих статьях мы поговорим про удаленные репозитории, хуки, а также немного про SSH.

2 комментария

  • Рекомендую git-flow. Удобная штука, позволяет автоматизировать многие операции при разработки версионного ПО.

    • Я так понимаю это надстройка для GIT?
      В чем ее преимущество? Я просто быстро пробежал по описанию, ничего особенного там не увидел.

Добавить комментарий для Nikita Sp Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вверх!

Меню блога

Категории блога

Облако тегов