Сравнение версий

Введение в Git

George Boorman

Curriculum Manager, DataCamp

Вывод git show

вывод git show: вверху — git log, ниже — git diff, внизу — некорректная запись данных

Введение в Git

git diff

  • git diff — различия между версиями

 

  • Сравнить последний коммит с версией, не добавленной в индекс
git diff report.md
Введение в Git

Сравнение с неиндексированным файлом

вывод git diff: строка «TODO: write executive summary.» удалена, строка «TODO: cite funding sources» добавлена

  • Версия B — новейшая версия
Введение в Git

Вывод git diff

вывод git diff с аннотацией: стрелка указывает на пятую строку «@@ -1, 5 +1, 5 @@», обозначающую начало и конец двух версий

Введение в Git

Вывод git diff

вывод git diff с аннотацией: стрелка указывает на пятую строку «@@ -1, 5 +1, 5 @@», обозначающую начало и конец двух версий

Введение в Git

Вывод git diff

вывод git diff с аннотацией: внизу выделена добавленная строка зелёным цветом

Введение в Git

Сравнение с индексированным файлом

  • Добавить report.md в индекс
git add report.md
  • Сравнить последний коммит report.md с версией в индексе
git diff --staged report.md
Введение в Git

Сравнение с индексированным файлом

вывод git diff --staged report.md, совпадающий с предыдущим выводом git diff report.md

Введение в Git

Сравнение нескольких индексированных файлов

  • Сравнить все индексированные файлы с версиями последнего коммита
git diff --staged

вывод git diff --staged: в mh tech survey добавлена одна строка, в report — одна строка удалена и одна добавлена

Введение в Git

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

  • Найти хеши коммитов

    git log
    
  • Сравнить их

    git diff 35f4b4d 186398f
    
  • Показывает изменения от первого хеша до второго

    • Более новый хеш указывается вторым
  • Состояние последнего коммита = HEAD
  • Сравнить предпоследний коммит с последним
    git diff HEAD~1 HEAD
    
Введение в Git

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

вывод git diff для первого и третьего коммитов с конца: в новейшей версии появилась дополнительная строка

Введение в Git

Итоги

Команда Назначение
git diff Показать изменения между всеми неиндексированными файлами и последним коммитом
git diff report.md Показать изменения между неиндексированным файлом и последним коммитом
git diff --staged Показать изменения между всеми индексированными файлами и последним коммитом
git diff --staged report.md Показать изменения между индексированным файлом и последним коммитом
git diff 35f4b4d 186398f Показать изменения между двумя коммитами по хешам
git diff HEAD~1 HEAD~2 Показать изменения между двумя коммитами с использованием HEAD вместо хешей
Введение в Git

Давайте потренируемся!

Введение в Git

Preparing Video For Download...