Bash скрипт для извлечения имен файлов из git whatloaded - PullRequest
2 голосов
/ 21 февраля 2012

Я пытаюсь получить список всех js-файлов, которые изменились, чтобы знать, что напоминать.

Ранее я задавал этот вопрос

Пока что это лучшее, что я придумал, но оно кажется небезопасным.

GITCHANGES=$(git whatchanged -n 1 --pretty=format:)
I=0;
for f in $GITCHANGES;
do
    I=$(($I + 1));
    if [[ $(($I % 6 )) == 0 ]]; then
        echo "$f"
    fi
done

Но это дает мне все файлы, которые изменились (php css js), а нетолько js файлы

Как бы получить только файлы js?И есть ли лучший способ сделать это?

Ответы [ 2 ]

3 голосов
/ 21 февраля 2012

С этот ответ , используйте git show --pretty="format:" --name-only HEAD^, чтобы получить список измененных файлов. Затем пропустите через grep.

git show --pretty="format:" --name-only HEAD^ | grep '\.js$'
1 голос
/ 21 февраля 2012

Ваш сценарий может быть просто сжат в

git diff-tree --name-only HEAD^ HEAD | grep '\.js$'

. Это приведет к выводу списка всех файлов .js, которые отличаются от HEAD^ (первый родительский) и HEAD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...