Можно ли git status
и показывать только измененные файлы?
Проблема в том, что у меня слишком много промежуточных файлов, которые я не хочу коммитить или gitignore в данный момент, и я не могу прокрутить вверх. У меня установлен предел прокрутки в Ubuntu.
git status
вызовет пейджер.--short
или,--porcelain
чтобы получить однострочные версии статуса.git ls-files -m
: какие модификации вас волнуют, ставят, не ставят или оба?Ответы:
Вы не можете сделать это с
git status
, но вы можете использовать,git ls-files -m
чтобы показать все измененные файлы.источник
git status | grep modified
как указано в их ответе user23186.git ls-files -m
ничего не показывает, ноgit status | grep modified
работает.git diff --name-only --diff-filter=M HEAD
покажет только измененные файлы как для промежуточных, так и для неподготовленных, хотя вы должны проверить документы,--diff-filter
чтобы увидеть, какие другие типы фильтров вы можете добавить.Похоже
git status -uno
, покажет вам только файлы, которые отслеживает git, не показывая ничего в каталоге. Не совсем то, что вы просили, но, возможно, выполняет то же самое (получение списка файлов с читаемой длиной, которые отслеживает git).источник
git status -u no
не показывает (1) отслеживаемые файлы, которые были изменены, и (2) отслеживаемые файлы, которые находятся в стадии подготовки. Я проверил это с помощью git версий 1.8.5.2 и 1.9.4.git status -uno
( stackoverflow.com/questions/7008546/… )источник
awk '$1 == "M" { print $2 }'
Для измененных файлов:
источник
git config --global alias.modified '!git status | grep modified:'
git diff --name-only --diff-filter=M
источник
git diff --cached --name-only --diff-filter=ACMR
которые добавляют, копируют, изменяют и переименовывают файлы.git diff --name-only
тоже работаетисточник
Я искал ту же информацию и нашел следующие дает измененные файлы:
источник
git status -uno --porcelain
добавляет хороший вывод для скрипта синтаксического анализаТы можешь использовать
перечислить только измененные файлы.
источник
Хотя это может не дать прямого ответа на вопрос о перечислении только измененных файлов, это может помочь ограничить количество файлов в списке.
Вы можете указать путь, чтобы
git status
ограничить вывод определенной папкой в репо.Например:
источник
Для просмотра измененных файлов используйте:
Если вам нужно только базовое имя (без пути), тогда вы можете передать каждый результат в команду basename, используя xargs, строка за строкой:
источник
Я использую эту команду:
И вывод выглядит так:
источник
Я использую
git cola
. Это простой и элегантный UI-клиент, который покажет вам измененные файлы и предоставит вам отчет об изменениях, которые вы сделали.git cola
предоставляет вам графический интерфейс, где вы можете визуализировать, какие файлы вы изменили, какие вы создали, и даже те, которые вы не отслеживаете. Ваш вопрос состоял в том, чтобы использовать git status только, я верю, но я думал, что git cola может помочь, когда это и другие вещи также. Проверьте эту веб-страницу с дополнительной информацией: git-cola.github.com/screenshots.htmlисточник
Если вы хотите перечислить измененные файлы, вы можете сделать это:
git log -n1 --oneline --name-status | grep '^M'
источник
Для просмотра всех измененных файлов используйте:
источник
Все отличные ответы; просто FEI, "git checkout" (переключение в ту же ветку или в той же ветке), по-видимому, показывает только измененные файлы.
источник
ОС: Windows
Следующая команда отобразит все строки, содержащие слова «updated:» , «renamed:» или «new file:».
Если вы хотите указать тип файла: (например
*.py
*.ini
)Если вы думаете, что слишком много печатать так:
создать пакетный файл (например:
st.bat
)напишите содержание следующим образом:
добавить путь к среде, в которой содержится ваш командный файл. (
st.bat
)использование
(примечание: если тип> 1, необходимо добавить точку с запятой)
ОС: LINUX
как @Lance говорит, что вы можете попробовать
git status | grep modified:
источник