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


112

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

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


4
просто набрав на клавиатуре, git statusвы получите список подготовленных файлов, список измененных, но неустановленных файлов и список неотслеживаемых файлов.
houtanb


@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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.