Список подготовленных файлов Git

112

Я поставил много файлов git add, теперь я хочу увидеть все файлы, которые я поставил, без неотслеживаемых файлов или измененных, но неустановленных файлов.

Как я могу это сделать? При использовании git diff --cachedя вижу изменения в том, что только что поставил. Тогда я попытался использовать, git status --cachedно, --cachedк сожалению, это не сработало git status.

Тимон де Гроот
источник
4
просто набрав на клавиатуре, git statusвы получите список подготовленных файлов, список измененных, но неустановленных файлов и список неотслеживаемых файлов.
houtanb
похоже на: stackoverflow.com/questions/1587846/…
rickfoosusa 06
@houtanb, git statusпоказывает разницу . (Он не показывает вам все подготовленные файлы).
Pacerier

Ответы:

199

Лучший способ сделать это - запустить команду:

git diff --name-only --cached

При просмотре руководства вы, скорее всего, найдете следующее:

--name-only
    Show only names of changed files.

И в части примера руководства:

git diff --cached
    Changes between the index and your last commit.

Вместе вы получаете changes between the index and your last commitиShow only names of changed files.

Обновление: --stagedтакже доступно как псевдоним для --cachedвышеуказанного в более поздних версиях git.

Тимон де Гроот
источник
13
Это действительно полезно, потому что позволяет получить список имен файлов, которые затем (в моем случае) можно передать линтеру в ловушке перед фиксацией.
морж
5
Если вы добавляете файлы с git add -N [files], это также включает их, даже если они еще не подготовлены для фиксации. Таким образом, это не совсем то, что нам нужно для хука перед фиксацией.
Пистос
re " последняя фиксация "; Вводят в заблуждение. Проще говоря, git diff --cachedэто сокращение отgit diff --cached head
Pacerier