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

Просмотр незакоммиченных изменений:

git status  # Просмотр измененных файлов
 
git diff  # Покажет изменения во всех файлах
 
git diff <file>  # Покажет изменения в конкретном файле

После коммита этих изменений теми же командами изменения не увидишь. Чтобы просмотреть их, нужно с помощью git log узнать хэши последних двух коммитов и запустить:

git diff <older-commit> <newer-commit> <file>
# Имя файла не нужно вводить, если хочется посмотреть ВСЕ изменения
# Их можно посмотреть еще и командой:
git log -[u|p]  # u или p

Если поменять местами хэши, то изменения будут отображаться наоборот, например, удаленная строка будет показываться как добавленная.

Также можно не писать полностью хэш коммитов, а только хотя бы первые 4 символа.

Можно сравнивать коммиты разных веток, указывая их хэши:

git diff <master-commit> <sideBranch-commit> <file>

Писать имена веток не нужно, ибо в рамках репозитория хэши коммитов уникальны.

git diff можно, как и консольный diff , использовать для сравнения двух файлов, находящихся вне репозитория:

diff <file1> <file2>
git diff <file1> <file2>
# хз, может кому-то удобнее вывод git-а, но к слову такой же вывод можно получить и у diff-а c помощью ключа -u
# опять же тут просто говорим о возможностях git diff
diff -u <file1> <file2>

Посмотреть инфу о файле в репо можно так:

git blame <file>

Есть инфа о коммите, в котором сделано изменение, пользователь, дата и сами изменения.

Инструменты по типу git diff есть и в средах разработки.


git