Я знаю, что могу использовать git diff
команду для проверки изменений, но, насколько я понял, она основана на каталогах. Это означает, что он дает все изменения всех файлов в текущем каталоге.
Как я могу проверить только изменения в одном конкретном файле? Скажем, я измененные файлы file_1.rb
, file_2.rb
..., file_N.rb
, но я заинтересован только в изменениях в файле file_2.rb
. Как я могу проверить эти изменения (до того, как зафиксировать)?
Ответы:
Используйте команду как:
Смотрите
git diff
документацию для получения полной информации о видах вещей, для которых вы можете получить различия.Обычно
git diff
сам по себе показывает все изменения во всем хранилище (а не только в текущем каталоге).источник
Другой метод (упомянутый в этом SO-ответе ) сохранит историю в терминале и даст вам очень глубокую запись самого файла:
git log --follow -p -- file
источник
Вы можете использовать,
gitk [filename]
чтобы увидеть журнал измененийисточник
Вы можете использовать команду ниже, чтобы увидеть, кто что изменил в файле.
git blame <filename>
источник
git blame <filename> | grep <searchfor>
где<searchfor>
короткое значение. Например, чтобы выяснить , кто изменилfoo
кbar
инdist/index.php
, вы будете использоватьgit blame dist/index.php | grep bar
Вы можете выполнить
Это покажет имя измененного файла, а затем скопировав интересующий путь к файлу, вы можете увидеть изменения, используя
git diff
источник
выводить только данные о коммитах для конкретных изменений файла,
перечислить разницу между различными коммитами для одного и того же файла,
перечислить только коммит и его сообщение,
источник
Вы также можете попробовать
Для коммитов git show покажет сообщение журнала и текстовую разницу (между вашим файлом и версией файла с фиксацией).
Вы можете проверить git show Documentation для получения дополнительной информации.
источник
Или, если вы предпочитаете использовать свой собственный инструмент GUI:
Вы можете настроить свой инструмент gui, руководствуясь этим постом: Как просмотреть вывод 'git diff' с помощью программы визуального сравнения?
источник
Полностью согласен с @Greg Hewgill
И если ваш путь включает пробелы, вы можете использовать, попробуйте добавить с апострофом
'
или `git diff 'MyProject / Моя папка / Моя подпапка / file_2.rb'
источник