Решение задания 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