Заставить git status отображать только имена файлов без пути - PullRequest
0 голосов
/ 28 декабря 2018

Можно ли использовать, например, инструмент sed , чтобы git status отображал только имя файла без указания пути?Вместо:

/relative/path/to/file/filename.py

Я бы приветствовал просто:

filename.py

У меня очень длинный путь в моем проекте, что делает вывод состояния git трудно читаемым.

Пример вывода состояния git:

modified:   d/da/mvp/view/dialogelement/composite/Tab.py
modified:   da/dab/core/api/Messages.py

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

С Bash:

for fname in $(git status --short | cut -d ' ' -f 2); do basename $fname; done

Will даст ожидаемый результат.Но будьте осторожны, каталоги будут отображаться в виде файлов.

0 голосов
/ 28 декабря 2018

Вы можете сделать что-то вроде этого:

git status | sed 's-\(#\t\+modified: \+\)\(.*/\)\([^/]\+\)-\1.../\3-'

Это заменит любой текст, начинающийся с modified:, и группу пробелов, содержащих косую черту, с .../ до последней косой черты.Префикс, пробелы и последняя часть пути не будут затронуты.

Аналогичный результат может быть достигнут с меньшим количеством обратных косых черт, используя флаг -E или -r:

git status | sed -E 's-(#\t+modified: +)(.*/)([^/]+)-\1.../\3-'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...