Скиллы Продвинутый Разработка и DevOps

Git Workflows

Скачать ZIP
12
Предупреждение о рисках!

Установка скиллов и плагинов OpenClaw осуществляется на ваш страх и риск. Все файлы были получены из открытых источников и предоставляются «как есть». Мы не гарантируем их корректную работу, безопасность или совместимость с вашей системой. Перед установкой настоятельно рекомендуется ознакомиться с содержимым кода и убедиться, что вы понимаете, какие изменения будут внесены в вашу систему.

Продвинутые Git-workflow для реальной разработки. Этот материал выходит за рамки базовых команд вроде add / commit / push и показывает, как на практике управлять историей, ветками и сложными сценариями разработки.

Что вы узнаете

  • Интерактивный rebase для очистки истории коммитов
  • Поиск багов с помощью git bisect
  • Параллельная работа с ветками через worktree
  • Восстановление потерянных коммитов через reflog
  • Работа с subtree и submodule
  • Sparse checkout для больших репозиториев
  • Разрешение конфликтов слияния
  • Cherry-pick между ветками

Когда использовать эти подходы

  • Перед merge — чтобы привести историю к чистому виду
  • Когда нужно найти коммит, сломавший функциональность
  • Если работа ведётся параллельно в нескольких ветках
  • При восстановлении после ошибок или reset --hard
  • Для управления общими зависимостями между репозиториями
  • При работе с монорепозиториями

Интерактивный rebase

Позволяет переписать историю: объединять, редактировать, удалять и менять порядок коммитов.

git rebase -i HEAD~5
git rebase -i main

В открывшемся редакторе можно использовать команды:

  • pick — оставить как есть
  • reword — изменить сообщение
  • edit — изменить содержимое
  • squash — объединить с предыдущим
  • fixup — объединить без сохранения сообщения
  • drop — удалить коммит

Типичные сценарии

  • Склейка фиксов в основной коммит
  • Изменение порядка коммитов
  • Разделение одного коммита на несколько

Autosquash

Позволяет автоматически сгруппировать фиксы с целевыми коммитами.

git commit --fixup=
git rebase -i --autosquash main

Поиск бага через git bisect

Использует бинарный поиск по истории коммитов, чтобы найти источник проблемы.

git bisect start
git bisect bad
git bisect good v1.2.0

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

Worktree — работа с несколькими ветками

Позволяет открыть несколько рабочих директорий для одного репозитория без постоянного stash/checkout.

git worktree add ../feature-branch feature-branch

Reflog — восстановление истории

Даже если вы случайно удалили коммиты, reflog хранит историю перемещений HEAD и позволяет всё вернуть.

git reflog
git checkout 

Subtree и Submodule

Используются для работы с внешними зависимостями:

  • submodule — подключение внешнего репозитория как ссылки
  • subtree — встраивание кода напрямую в проект

Sparse checkout

Позволяет работать только с частью репозитория — полезно для больших проектов.

git sparse-checkout init
git sparse-checkout set path/to/dir

Разрешение конфликтов

При сложных merge-конфликтах важно понимать структуру изменений и аккуратно объединять код. Git также поддерживает повторное использование решений конфликтов через rerere.

Cherry-pick

Позволяет перенести отдельный коммит из одной ветки в другую.

git cherry-pick 

Итог

Git предоставляет гибкие инструменты для управления историей и рабочими процессами. Освоение этих техник даёт полный контроль над кодовой базой и значительно упрощает работу в команде. :


Файл из источника

11020_git-workflows-1.0.0.zip