Показать как промежуточное, так и рабочее дерево в git diff?
Если я бегу git diff
Я вижу изменения в моем рабочем дереве, и если я бегу git diff --staged
(в качестве альтернативы --cached
) тогда я вижу изменения, которые поставлены (ж / git add
) но есть ли способ с git diff
чтобы увидеть все за один раз?
3 ответа
Есть ли способ с помощью git diff увидеть все сразу?
Есть, с Git 2.4.0+ (апрель 2015).
Смотрите коммит 4055500 от Майкла Дж. Грубера mjg
:
commit
/status
: показать разницу между индексом и рабочим деревом с помощью-v -v
(или же-vv
)
git commit
а такжеgit status
в длинном формате показать разницу между HEAD и индексом, если дано-v
, Это позволяет предварительно просмотреть сделанный коммит.Они также перечисляют отслеживаемые файлы с неустановленными изменениями, но без различий.
Вводить '
-v -v
' (или же-vv
) который показывает разницу между индексом и рабочим деревом в дополнение кHEAD
разность индексов Это позволяет просматривать неустановленные изменения, которые могут отсутствовать в коммите.В случае '
-v -v
' (или же-vv
), дополнительные строки заголовкаChanges to be committed:
а также
Changes not staged for commit:
вставляются перед различий, которые равны тем, что в статусной части; последнему предшествует 50*
-
чтобы сделать его больше.
В случае ОП, простой git status -v -v
(или же git status -vv
) покажет как постановочные, так и не постановочные различия.
Если вы имеете в виду изменения между рабочим деревом и вашим коммитом HEAD (т.е. как поэтапные, так и не поэтапные изменения вместе), это просто делается с помощью:
git diff HEAD
Это можно сделать с помощью инструмента diffuse visual diff: он покажет три панели, если некоторые, но не все изменения будут выполнены. В случае конфликтов будет даже четыре панели.
Вызвать его с
diffuse -m
в вашей рабочей копии Git.
Если вы спросите меня, лучшее визуальное отличие, которое я видел за десятилетие.