🔖 Справочник команд урока 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— перебазировать ветку поверх maingit checkout -b branch— создать и переключиться на веткуgit pull— получить и интегрировать измененияgit status— статус рабочей директорииgit diff-index --quiet HEAD --— проверка наличия изменений в индексе- Pull Request — создание PR на GitHub/GitLab для обсуждения и слияния
Bash-команды: задействованные в скриптах
read -p "Prompt: " var— ввод от пользователя с подсказкой (bash built-in)find -maxdepth 1 -type f -name "*.ext"— поиск файлов по расширениюcp file dir/— копировать файл в директориюtouch $RANDOM— создать файл со случайным именемdate +'%Y-%m-%d %H:%M:%S'— форматированная дата и время