Возможно ли "git статус" только измененные файлы?

Возможно ли git status показать только измененные файлы?

Проблема в том, что у меня слишком много поэтапных файлов, которые я не хочу совершать, или gitignore на данный момент, и я не могу прокручивать вверх. У меня есть ограничение на прокрутку на Ubuntu.

Ответ 1

Вы не можете сделать это с помощью git status, но вы можете использовать git ls-files -m для отображения всех измененных файлов.

Ответ 2

Похоже, что git status -uno покажет вам только файлы, которые git отслеживает, не показывая ничего в каталоге. Не совсем то, что вы просили, но, возможно, выполняет одно и то же (получение списка файлов с возможностью чтения с длиной git).

Ответ 3

git status -s | awk '{if ($1 == "M") print $2}'

Ответ 4

Для измененных файлов:

git status | grep modified:

Ответ 5

git diff --name-only --diff-filter=M

Ответ 6

git diff --name-only тоже работает.

Ответ 7

Я искал ту же информацию и нашел следующие дает измененные файлы:

git status -uno

Ответ 8

Чтобы просмотреть измененные файлы, используйте:

git ls-files -m

Если вы хотите просто базовое имя (нет пути), вы можете передать каждый результат команде basename с помощью xargs, строка за строкой:

git ls-files -m | xargs -L 1 basename

Ответ 9

Проблема в том, что у меня слишком много промежуточных файлов, которые я не хочу коммитить или gitignore в данный момент, и я не могу прокрутить вверх.

Хотя это может не дать прямого ответа на вопрос о перечислении только измененных файлов, это может помочь ограничить число файлов в списке.

Вы можете передать путь к git status чтобы ограничить вывод определенной папкой в репо.

Например:

git status app
git status spec
git status src/components

Ответ 10

Ты можешь использовать

$ git status -uno 

перечислить только измененные файлы.

Ответ 11

Я использую git cola. Его простой и элегантный пользовательский интерфейс, который покажет вам измененные файлы и предоставит вам разный снимок сделанных вами изменений.

git cola предоставляет вам графический интерфейс, в котором вы можете визуализировать, какие файлы вы изменили, какие вы поставили, и даже те, которые вы не отслеживаете. Ваш вопрос состоял в том, чтобы использовать статус git, только я верю, но я подумал, что git кола может помочь, когда это и другие вещи. Проверьте эту веб-страницу из дополнительной информации: git-cola.github.com/screenshots.html

Ответ 12

Если вы хотите перечислить файлы измененные, вы можете сделать это:

git log -n1 --oneline --name-status | grep '^M'

Ответ 13

Для просмотра всех измененных файлов используйте:

git show --stat --oneline HEAD

Ответ 14

Все отличные ответы; просто FEI, "git checkout" (переключение в или в ту же ветку), по-видимому, показывает только измененные файлы.

Ответ 15

ОС: Windows

Следующая команда отобразит все строки, содержащие "Изменено:", "переименовано:" или "новый файл:"

git status | findstr "modified: renamed: new file:"

Если вы хотите указать тип файла: (например, *.py *.ini)

git status *.py *.ini | findstr "modified: renamed: new file:"

Если вы думаете, что слишком много печатать так:

  1. создать пакетный файл (например: st.bat)

  2. напишите содержание следующим образом:

    @echo off
    :: st.bat  (this line does not necessarily. ( just let you know the scripts name.))
    git status %~1 | findstr "modified: renamed: new file:"
    
  3. добавить путь к среде, в которой содержится ваш командный файл. (st.bat)

  4. использование

    st.bat "*.py *.ini"
    

    (примечание: если тип> 1, необходимо добавить точку с запятой)

ОС: LINUX

как @Lance говорит, что вы можете попробовать

git status | grep modified: