Ответы:
Ты ищешь git diff. В зависимости от вашей конкретной ситуации, есть три полезных способа его использования:
# show differences between index and working tree
# that is, changes you haven't staged to commit
git diff [filename]
# show differences between current commit and index
# that is, what you're about to commit
# --staged does exactly the same thing, use what you like
git diff --cached [filename]
# show differences between current commit and working tree
git diff HEAD [filename]
Он будет рекурсивно работать с каталогами, и если пути не указаны, он показывает все изменения.
git add -pэто альтернатива для проверки всех файлов.
git diff --staged [filename]свой основной ответ, так как это чаще всего необходимо.
Используйте git-diff:
git diff yourfile
Для меня git add -pэто самый полезный способ (и, как мне кажется, разработчики git?), Чтобы просмотреть все непостановленные изменения (он показывает разницу для каждого файла), выбрать хороший набор изменений, которые следует выполнить с коммитом, тогда, когда у вас есть Поместите все из них, затем используйте git commitи повторите для следующего коммита. Затем вы можете сделать каждый коммит полезным или значимым набором изменений, даже если они произошли в разных файлах. Я бы также предложил создать новую ветку для каждого тикета или подобного действия и переключаться между ними, используя checkout(возможно, используя, git stashесли вы не хотите фиксировать перед переключением), хотя, если вы делаете много быстрых изменений, это может быть проблемой. Не забывайте часто сливаться.
Показать изменения между рабочим деревом и индексом или деревом, изменения между индексом и деревом, изменения между двумя деревьями или изменения между двумя файлами на диске.
Помните, что вы вносите изменения , а не файлы.
По этой причине очень редко я не использую git add -p(или эквивалент magit) для добавления своих изменений.
git diff <path>/filename
путь может быть полным системным путем до файла или,
если вы находитесь в проекте, вы вставляете измененный путь файла также
для измененных файлов с использованием пути:git status
Ну, мой случай, когда вы не хотите заботиться о списке файлов. Просто покажи им все.
Когда вы уже запустили git addсвой список файлов:
$ git diff --cached $(git diff --cached --name-only)
В более поздних версиях gitвы также можете использовать --staged, что является синонимом --cached.
То же самое можно использовать для еще не добавленных файлов, но без --cachedопции.
$ git diff $(git diff --name-only)
Псевдоним команды Git для опции "cached":
$ git config --global alias.diff-cached '!git diff --cached $(git diff --cached --name-only)'
Перейдите к вашему git-репо и выполните команду ниже:
git diff имя файла
Откроется файл с помеченными изменениями, нажмите клавишу возврата / ввода, чтобы прокрутить файл вниз.
PS имя файла должно включать полный путь к файлу, иначе вы можете запустить без полного пути к файлу, перейдя в соответствующую директорию / папку файла
Вы также можете использовать git-friendly текстовый редактор. Они показывают цвета на линиях, которые были изменены, другой цвет для добавленных линий, другой цвет для удаленных линий и т. Д.
Хороший текстовый редактор, который делает это - GitHub's Atom 1.0 .
[filename]указывают на необязательный аргумент.) Когда*вы позволяете оболочке перечислять все файлы, поэтому, если вы находитесь в подкаталоге, вы получите только вещи в этом подкаталоге (не весь репозиторий), и вы ' пропущу изменения в скрытых файлах.