Git — Diff Staged и Unstaged Файлов

Во время работы с Git часто требуется узнать какие изменения произошли между различными областями.

Наверное каждый знает команду git diff, которая показывает изменения между Working Directory и Staging Area (git diff unstaged).

Но также часто возникает необходимость просмотреть различия между Staging Area и HEAD (git diff staged) или между Working Directory и HEAD (git diff staged и unstaged).

Дельный Совет: Что-то пошло не так? Вы легко можете отменить все изменения и вернуться к последнему коммиту! Читать далее →

Git — Diff Staged и Unstaged Файлов

Прежде всего необходимо четко понимать значение следующих терминов:

Working Directory (рабочий каталог) — файлы в текущем локальном каталоге, над которым вы работаете.

Staging Area (область подготовленных файлов, она же cache или index) — временная область, куда вы добавляете файлы с помощью команды git add.

HEAD — ссылка на конкретный коммит (обычно на последний коммит в локальном репозитории).

Git Diff Unstaged

Показать изменения между Working Directory и Staging Area:

$ git diff

Git Diff Staged

Показать изменения между Staging Area и HEAD:

$ git diff --staged
- или -
$ git diff --cached
- или -
$ git status -v

Если необходимо часто просматривать такие изменения, создайте alias git diffs:

$ git config --global alias.diffs 'diff --staged'

Git Diff Staged и Unstaged

Показать все изменения между Working Directory и HEAD:

$ git diff HEAD
- или -
$ git status -vv

Если необходимо часто просматривать такие изменения, создайте alias git diffh:

$ git config --global alias.diffh 'diff HEAD'

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.