🔖 Справочник команд урока 30

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

⚡ Ключевые команды урока

# Git (командная работа)
git checkout -b feature/issue-N    # создать ветку для задачи
git add .                          # добавить всё (осторожно!)
git commit -m "message"            # коммит
git push origin feature/issue-N   # запушить ветку
git rebase main                    # актуализировать ветку
git diff-index --quiet HEAD --     # проверить наличие изменений

# Bash (скрипты)
read -p "Prompt: " varname         # ввод от пользователя
find DIR -maxdepth 1 -type f -name "*.ext"  # найти файлы
cp source target                   # копировать файл
[ ! -d "$dir" ]                    # проверить отсутствие директории

Новые концепции этого урока

Командный Git-workflow (issue → PR → merge → rebase)

Практика совместной разработки: каждый участник работает над назначенным issue в отдельной ветке, создаёт PR для обсуждения, после одобрения выполняется merge в основную ветку, остальные участники делают rebase для актуализации своих веток.

# Получить последнюю версию
git pull origin main

# Создать ветку для своей задачи
git checkout -b feature/issue-5

# ... работать над задачей ...

# Запушить и открыть PR
git push origin feature/issue-5

# После merge чужого PR — актуализировать свою ветку
git rebase main

git diff-index — проверка наличия изменений для коммита

Нестандартная команда, часто используемая в скриптах для проверки перед авто-коммитом. Сравнивает состояние индекса с HEAD.

# Если нет изменений — выход с кодом 0 (в if это "истина")
if git diff-index --quiet HEAD --; then
  echo "Нет изменений для фиксации."
  exit 0
fi
# Если есть изменения — выход с кодом 1, блок if пропускается
  • --quiet — не выводить ничего, только код возврата
  • HEAD -- — сравнивать с HEAD, -- разделяет опции от путей

Git-команды: задействованные в уроке

  • git add . — добавить все изменения в индекс
  • git commit -m "..." — зафиксировать изменения с сообщением
  • git push origin branch — запушить ветку в удалённый репозиторий
  • git merge branch — объединить ветки
  • git rebase main — перебазировать ветку поверх main
  • git checkout -b branch — создать и переключиться на ветку
  • git pull — получить и интегрировать изменения
  • git status — статус рабочей директории
  • git diff-index --quiet HEAD -- — проверка наличия изменений в индексе
  • Pull Request — создание PR на GitHub/GitLab для обсуждения и слияния

Bash-команды: задействованные в скриптах