✅ Решения — Ветви в Git

К оглавлению урока

⚡ Ключевые команды решений

git checkout -b gitignore
curl -O https://raw.githubusercontent.com/aliaskov/bashscripts/master/.gitignore
git add .gitignore
git commit -m "Add .gitignore"
git push origin gitignore

Решение задания 1. Установка .gitignore

# Перейти в корень репозитория
cd git-branch

# Скачать пример .gitignore
curl -O https://raw.githubusercontent.com/aliaskov/bashscripts/master/.gitignore

# Убедиться, что файл создан
ls -la | grep gitignore

# Посмотреть содержимое
cat .gitignore

Ожидаемый результат: файл .gitignore появился в директории; cat .gitignore показывает правила игнорирования.

Решение задания 2. Создать ветку и переключиться

# Создать ветку и переключиться
git checkout -b feature/test
# или современный способ:
git switch -c feature/test

# Проверить — должна быть активной
git branch

# Создать файл и закоммитить
echo "test content" > test.txt
git add test.txt
git commit -m "Add test.txt to feature/test"

# Вернуться на main
git checkout main

# Убедиться: test.txt в main не появился
ls   # test.txt отсутствует

Ключевой момент: файлы, закоммиченные в ветке, не попадают автоматически в другие ветки.

Решение задания 3. Удалённая ветка

# Получить список всех удалённых веток
git fetch --all

# Посмотреть все ветки (локальные и удалённые)
git branch -a

# Переключиться на удалённую ветку
git checkout feature/remote-branch

# Если ветка ещё не существует локально:
git checkout -b feature/remote-branch origin/feature/remote-branch

Решение задания 4. Fork репозитория

# После Fork на GitHub — склонировать свой форк
git clone git@github.com:YOUR_USERNAME/bashscripts.git
cd bashscripts

# Убедиться, что remote настроен правильно
git remote -v
# origin  git@github.com:YOUR_USERNAME/bashscripts.git (fetch)
# origin  git@github.com:YOUR_USERNAME/bashscripts.git (push)

Решение задания 5. Git stash

# Создать изменение (не коммитить)
echo "work in progress" > wip.txt

# Проверить статус — файл untracked или modified
git status

# Спрятать изменения
git stash

# Статус должен быть чистым
git status     # nothing to commit, working tree clean

# Переключиться на main
git checkout main

# Вернуться на предыдущую ветку
git checkout feature/test

# Восстановить изменения
git stash pop

# Проверить — wip.txt вернулся
git status
ls