Прохождение Learn Git Branching
Если у вас возникли сложности с прохождением интерактивного курса Learn Git Branching, подсмотрите решение в этой шпаргалке.
29К открытий48К показов
Learn Git Branching — это интерактивный учебник по Git, направленный на закрепление теории прохождением наглядной практики. Если вы столкнулись с трудностью в процессе прохождения, выберите необходимый раздел, уровень и подсмотрите решение.
- Введение
- Едем дальше
- Перемещаем труды туда-сюда
- Сборная солянка
- Продвинутый уровень
- Push & Pull
- Origin и Git remotes
Введение
Прохождение Learn Git Branching начинается с азов.
1. Знакомство с Git commit
В этом уровне объясняется, что такое коммиты и как их следует делать. Для прохождения уровня достаточно ввести две команды для коммита, а именно:
Примечание Чтобы перейти в консоль LearnGitBranching, нажмите Tab
.
Вообще, достаточно и просто двух команд git commit
. Однако правилом хорошего тона является указание ветки (у нас это main
) и именование коммитов в соответствии с тем, какие изменения были в них внесены.
2. Ветвление в Git
В этом уровне следует создать и переключиться на новую ветку bugFix
:
3. Git merge
Теперь надо понять, как объединять изменения из двух разных веток. Для этого будем использовать команду git merge
. Такой тип слияния создаёт коммит, который имеет сразу двух родителей. Для прохождения уровня введите следующие команды:
4. Git rebase
Это второй способ объединения изменений в двух ветках. При ребейзе Git по сути копирует набор коммитов и переносит их в другое место. В учебнике сказано, что с rebase история коммитов будет чище, но в основном используется именно merge
.
Давайте посмотрим на решение:
Едем дальше
Далее в прохождении Learn Git Branching вы столкнётесь с демонстрацией способов перемещения по дереву коммитов.
1. HEAD
Суть в том, чтобы отделить HEAD
от ветки bugFix
и присвоить его последнему коммиту в этой же ветке:
2. Относительные ссылки: ^
Перемещаемся на первого родителя ветки bugFix
:
3. Оператор «~» и branch forcing
Именно на этой задаче у многих возникают проблемы, потому что схема выглядит весьма запутанной. Но чтобы осуществить перемещение, достаточно ввести в консоль Learn Git Branching такие команды:
4. Отмена изменений в Git
Здесь просто отменяем изменения локально и удалённо. Поскольку изначально мы находимся на локальной ветке (она отмечена звёздочкой), то и начинаем с неё:
Перемещаем труды туда-сюда
Теперь речь пойдёт о перемещении изменений — возможности, позволяющей разработчику сказать «Хочу, чтобы эти изменения были вот тут, а вот эти — вон там» и получить точные, правильные результаты, не теряя при этом гибкости разработки.
1. Git cherry-pick
Здесь нужно перенести копии выбранных комитов в main
, что делается всего одной строкой:
2. Git interactive rebase
Это задача с использованием интерактивного окна для перемещения элементов. Для начала впишите код:
Затем выделите и переставьте элементы в интерактивном окне Learn Git Branching следующим образом:
Сборная солянка
На этом прохождение основ в Learn Git Branching заканчивается, и дальше именно вы решаете, какую команду выбрать. Я просто приведу свои варианты решения задач из сборной солянки, но вы всегда можете воспользоваться другими.
1. Выберем один коммит
2. Жонглируем коммитами
3. Жонглируем коммитами №2
4. Теги
5. Git describe
Продвинутый уровень
Вот мы и подошли к продвинутому уровню в прохождении Learn Git Branching.
1. Rebase на нескольких ветках
Перемещения здесь выглядят сложными, но на деле всё просто:
2. Определение родителей
Решить можно в три, две и в одну команду. Сделаем в одну:
3. Спутанные ветки
Задание считается сложным, но достаточно просто абстрагироваться и вспомнить полезную команду git cherry-pick
:
Push & Pull
Теперь переходим к удалённым репозиториям. В этих ответах только код.
1. Введение в клонирование
2. Удалённые ветки в Git
3. Git fetch
4. Git pull
5. Коллективная работа
6. Git push
7. Когда наработки расходятся
8. Remote rejected
Origin и Git remotes
Это завершающий этап прохождения интерактива Learn Git Branching, в котором, как и в предыдущем, содержится восемь заданий. Здесь я приведу только их решения.
1. Слияние фича-бранчей (веток)
2. Merge? Нет, нет, спасибо.
3. Удалённые-отслеживаемые ветки
4. Аргументы команды push
5. Подробности аргумента <пункт назначения>
6. Аргументы git fetch
7. Странный <источник>
8. Аргументы для pull
Надеюсь, моё прохождение Learn Git Branching окажется полезным. Старайтесь проходить уровни самостоятельно, чтобы закреплять полученные знания, но если где-то застрянете — обращайтесь за помощью к этой шпаргалке.
Держите больше шпаргалок по Git.
29К открытий48К показов