Сравнение (diff)

Просмотр изменений

Что такое git diff?

git diff – это команда в Git, которая используется для отображения различий между различными версиями файлов. Она показывает изменения, которые были внесены в файлы, но еще не закоммичены в репозиторий. Команда git diff полезна для просмотра текущих изменений, которые вы сделали в вашем рабочем каталоге, а также для сравнения различных веток, коммитов и тэгов.

Основные характеристики

  • Просмотр изменений: git diff показывает изменения в файлах между различными состояниями вашего репозитория.
  • Сравнение версий: Можно сравнивать изменения между ветками, коммитами, индексом и рабочим каталогом.
  • Патчи: Показывает различия в формате патча, что удобно для анализа изменений или создания патчей для других разработчиков.

Синтаксис

git diff [опции] [<коммит> <коммит> | <путь>]

Примеры использования

  1. Просмотр изменений в рабочем каталоге по сравнению с индексом (staging area):

    git diff
    

    Эта команда показывает изменения, которые были сделаны в файлах, но еще не были добавлены в индекс.

  2. Просмотр изменений, которые были добавлены в индекс, но еще не закоммичены:

    git diff --cached
    

    Также можно использовать git diff --staged вместо --cached.

  3. Просмотр всех изменений, которые были сделаны в рабочем каталоге и индексе по сравнению с последним коммитом:

    git diff HEAD
    
  4. Сравнение двух веток:

    git diff branch1 branch2
    

    Эта команда показывает различия между ветками branch1 и branch2.

  5. Сравнение двух коммитов:

    git diff commit1 commit2
    

    Эта команда показывает различия между коммитами commit1 и commit2.

  6. Просмотр изменений в конкретном файле:

    git diff <файл>
    

    Эта команда показывает изменения, сделанные в указанном файле.

Полезные опции

  • --name-only: Показывает только имена изменённых файлов, без подробного списка изменений.

    git diff --name-only
    
  • --stat: Показывает статистику изменений, включая количество добавленных и удалённых строк для каждого файла.

    git diff --stat
    
  • --color: Включает или отключает цветное выделение изменений.

    git diff --color
    
  • --word-diff: Показывает изменения на уровне слов, а не строк.

    git diff --word-diff
    

Примечание

Команда git diff является очень мощным инструментом для анализа изменений в вашем репозитории. Она полезна для проверки изменений перед коммитом, анализа истории изменений и выявления проблем в коде.