🔖 Справочник команд — Занятие 28

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

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

# После конфликта — проверить статус
git status

# Посмотреть конфликтующие коммиты
git log --merge

# Запустить mergetool
git mergetool

# После ручного разрешения — завершить слияние
git add conflict-file.txt
git merge --continue

Новые команды этого урока

git mergetool

Запустить внешний инструмент для визуального разрешения конфликтов слияния. Git открывает настроенный инструмент (vimdiff, meld, kdiff3 и другие) с тремя версиями файла: исходная (base), ваша (local) и их (remote).

# Запустить инструмент для всех конфликтующих файлов
git mergetool

# Запустить для конкретного файла
git mergetool path/to/conflict-file.txt

# Указать инструмент явно
git mergetool --tool=vimdiff

# Настроить инструмент по умолчанию
git config --global merge.tool vimdiff

git log --merge

Показать список коммитов, конфликтующих между объединяющимися ветвями. Помогает понять, какие именно изменения вызвали конфликт.

git log --merge
git log --merge --oneline   # компактный вид
git log --merge -p          # с diff каждого конфликтующего коммита

git merge --continue

Завершить слияние после ручного разрешения всех конфликтов. Аналог git commit в процессе merge.

# После разрешения конфликта:
git add resolved-file.txt   # добавить в индекс
git merge --continue        # завершить слияние

# Альтернатива:
git add resolved-file.txt
git commit   # создаст merge-коммит

Ранее изученные команды (используются в уроке)

  • git init — инициализировать репозиторий
  • git add — добавить файл в индекс; git add <conflicted-file> — пометить конфликт как разрешённый
  • git commit — создать коммит; git commit -am "..." — добавить и закоммитить
  • git checkout — переключить ветку; git checkout -b branch — создать и переключиться
  • git merge — слить ветки; git merge branch_name
  • git status — показать статус; в режиме конфликта показывает both modified
  • git diff — показать изменения; при конфликте показывает маркеры <<<<<<<
  • git log — история коммитов

Linux-команды в контексте миграции monorepo

  • find — поиск файлов и директорий; find . -type d -name ".git" -exec rm -rf {} + — удалить все .git (ОПАСНО!)

→ Полный справочник Git-команд