Подтвердить что ты не робот

Git: Показать содержимое файла, как он будет выглядеть после совершения

После чтения Git pre-commit hook: измененных/добавленных файлов возник следующий вопрос:

Учитывая, что у меня есть файл с пошаговыми и неустановленными изменениями, как я могу отобразить предварительный просмотр содержимого файла после этапа?

Пример:

echo "foo" >> file
git add file
echo "bar" >> file

Требуемый вывод:

[previous contents of file]
foo
4b9b3361

Ответ 1

Используйте префикс : для доступа к объектам в текущем индексе (поэтапный, но еще не проведенный).

git show :file

См. gitrevisions (внимание мое):

<rev>:<path>, e.g. HEAD:README, :README, master:./README

Суффикс :, за которым следует путь, называет пучок или дерево по заданному пути в древовидном объекте, названном частью до двоеточия. :path (с пустой частью перед двоеточием) - это особый случай описанного ниже синтаксиса: контент, записанный в индекс по заданному пути.

Ответ 3

Вы можете сделать git diff --cached, но это не совсем то, что вы хотите.

git grep -h --cached ^ -- file

работает для меня.