Коммиты в ветке
Часть раздела Контроль версий путешествия по Terminal на Coddy — урок 31 из 58.
Коммиты, которые вы делаете в ветке, влияют только на эту ветку. Ветка main остается именно там, где она была, нетронутой, пока вы не решите выполнить слияние.
Это основная идея тематических веток: пробуйте что-то в стороне, оставляя main стабильной.
git switch -c feature-login
echo "login form" >> app.txt
git add app.txt
git commit -m "Start login form"Теперь feature-login имеет один дополнительный коммит, в то время как main остается без изменений. Вы можете переключиться обратно в любое время, и рабочие файлы вернутся к версии main:
git switch main
cat app.txt # исходное содержимое, без строки "login form"Ветки — это независимые временные шкалы до тех пор, пока вы не объедините их снова.
Задание
ЛегкоВ репозитории есть один коммит в ветке main с файлом data.txt, содержащим строку v1.
Создайте и переключитесь на ветку с названием edits, перезапишите data.txt значением v2 и сделайте коммит с сообщением Bump to v2. Затем переключитесь обратно на main и выведите содержимое data.txt.
Ожидаемый вывод показывает исходное значение v1 (неизменное в main).
Шпаргалка
Коммиты в ветке влияют только на эту ветку. main остается нетронутой до тех пор, пока вы не выполните слияние.
# Создание ветки, внесение изменений, коммит
git switch -c feature-login
echo "login form" >> app.txt
git add app.txt
git commit -m "Start login form"
# Переключение обратно — рабочие файлы возвращаются к версии main
git switch mainВетки — это независимые временные шкалы: feature-login содержит новый коммит, а main — нет.
Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Контроль версий
7Ветвление
Что такое веткаСоздание веткиПереключение ветокКоммиты в веткеУдаление веткиИтоги: работа с ветками2Начало работы
Инициализация репозиторияПапка .gitНастройка данных пользователяGit StatusИтоги — первый репозиторий5Игнорирование файлов
Зачем игнорировать файлыШаблоны .gitignoreПроверка правил игнорированияИтоги: чистый репозиторий8Слияние
Что такое слияниеСлияние Fast-ForwardТрёхстороннее слияниеКонфликты слиянияРазрешение конфликтаИтоги — Мастер слияния11Проект: Feature Branch
Обзор проектаИнициализация Main3Отслеживание изменений
Область подготовкиGit AddGit CommitИзменение отслеживаемого файлаGit LogИтоги: первые коммиты6Проект: Сайт рецептов
Обзор проектаИнициализация и игнорирование