Як показувати неспроможні зміни в Git та деякі Git відрізняється докладно


202

Як я можу показати невідомі зміни в Git?

Я STFW'ed , і ці команди не працюють:

teyan@TEYAN-THINK MINGW64 /d/nano/repos/PSTools/psservice (teyan/psservice)
$ git status
On branch teyan/psservice
Your branch is up-to-date with 'origin/teyan/psservice'.
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   psservice.c
        modified:   psservice.vcxproj.filters


teyan@TEYAN-THINK MINGW64 /d/nano/repos/PSTools/psservice (teyan/psservice)
$ git diff

teyan@TEYAN-THINK MINGW64 /d/nano/repos/PSTools/psservice (teyan/psservice)
$ git diff master
fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

Відповіді:


370

Як показати неспроможні зміни в Git

Команда, яку ви шукаєте, - це git diff.

git diff - Показати зміни між комісіями, командами та робочим деревом тощо


Ось кілька варіантів, які ви можете розкрити, які ви можете використовувати

git diff(немає параметрів)
Роздрукуйте відмінності між робочим каталогом та індексом.

git diff --cached:
Роздрукуйте відмінності між індексом та HEAD (поточна комісія).

git diff HEAD:
Роздрукуйте відмінності між вашим робочим каталогом та HEAD.

git diff --name-only
Показати лише імена змінених файлів.

git diff --name-status
Показати лише імена та статус змінених файлів.

git diff --color-words
Слово за словом відрізняється замість рядка за рядком.

Ось зразок виходу для git diff --color-words:

введіть тут опис зображення


введіть тут опис зображення


2
Коли ви побачите підказку двокрапки в кінці, це означає, що git показав першу сторінку - натисніть клавішу Enter, щоб перейти до інших змін (як ви можете з файлом cat | більше)
покажчик NULL

42

Ви вже влаштували зміни (імовірно, запустивши git add), тож, щоб отримати їх відмінності, потрібно запустити:

git diff --cached

(Звичайна інформація git diffвідображатиме лише нестандартні зміни.)

Наприклад: Приклад використання кешованої диффузії


0

Для мене єдине, що працювало, - це

git diff HEAD

включаючи поетапні файли, git diff --cachedпоказує лише поетапні файли.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.