Предыдущий ролик Следующий ролик  

Видео урок: Ветвление и слияние

Принципы контроля версий

Последние важные функции, которые нам необходимо изучить, - это ветвление и слияние. В Git ветвление и слияние - очень простые, облегченные функции. Итак, сначала давайте выполним git branch. Мы видим, что находимся в основном бранче (бранче master). Его иногда называют стволом (trunk). Чтобы создать ветку, нужно просто ввести git branch b1, и теперь, как видите, у нас есть ветки b1 и master. Между звездочкой и зеленым текстом вы можете видеть, мы находимся в ветке master.

Чтобы внести изменения в ветку и продолжать с ней работать, мы должны получить эту ветку в свой рабочий набор, и затем мы можем сделать обновления. Итак, git checkout b1, и система говорит, что мы переключились на ветку b1. Если мы введем git branch, вы увидите, что мы находимся в ветке b1, так что теперь мы обновим наш файл и добавим новую функцию. Еще один хайку. "No available space," "Look to the cloud," "Your drive is full".

Я сохраню и закрою файл, и мы внесем его в ветку. Теперь, если мы введем git log, вы увидите, что у нас есть обновление в ветке, изменение my novel на website и первоначальный коммит. Но ничего не дает нам понять, что обновление было сделано в ветке, потому что наборы изменений являются глобальными для всех веток. Итак, давайте сделаем еще одно изменение: мы создадим сообщение о фиксации, которое бы лучше отражало то, что мы делаем.

Мы введем Notepad f1.c, перейдем сюда и изменим слово Website на Node, сохраним файл и закроем его, и затем создадим коммит с сообщением b1: Change website to node. Есть соглашение, по которому просто для удобства мы указываем, в какой ветке мы делаем изменения. Так что теперь, если мы введем git log, легко понять, что изменение было сделано в ветке номер 1.

ОК. Теперь давайте поговорим о слиянии. Если вы будете продолжать работать в ветке в течение длительного периода времени, рекомендуется делать слияния из основного бранча в свой бранч. Помните, что называется прямой интеграцией. Частота этой операции будет варьироваться в зависимости от того, как активно меняется главная ветка. Обычно, если я работаю над проектом с кем-то, я делаю это еженедельно, чтобы гарантировать, что в моей частной ветке обновлены все секции кода, над которыми я в настоящее время не работаю. В нашем случае, мы просто собираемся выполнить обратную интеграцию из нашей ветки b1 обратно в master.

Для этого вы сначала переключаетесь на ветку master, и если в ней мы откроем f1.c, вы можете видеть, что здесь нет новой функции, и в нем все еще стоит слово website. Теперь мы выполняем слияние, git merge b1, и теперь, если мы откроем f1.c, вы можете увидеть, что в нем не только есть слово Node, но также и наша вторая функция, feature1. Вверху экрана, где мы выполнили git merge b1, написано Fast-forward, и это значит, что Git понимает, что ветка b1 расходится с основным бранчем, поэтому он смог воспроизвести изменения очень, очень быстро, зная, что он не должен проверять все, потому что он знал, где эти ветки стали отличаться.

Что ж, это все про ветвление и слияние в Git. Далее мы рассмотрим оболочную интеграцию и некоторые инструменты с графическим интерфейсом для Git, которые мы установили из файла установки Git, загруженного с git-scm.com.