2013-06-13 4 views
0

Можно ли добавить список файлов где-то в список изменений или файл или что-то еще, а также запустить git diff commit1 commit2 myListOfFiles и получить разницу только в том, что список файлов? Или можно создать макрос, который расширяется до этого списка? и уметь удалять и добавлять из этого списка или изменять его?Git: Diff список файлов

Это было бы очень полезно для создания патчей только для определенных файлов, а не для ввода путей для всех 20 файлов, которые я хочу разбить.

ответ

1

Просто сделать:

git diff commit1 commit2 -- $(cat /path/to/listfile) 

Вы можете псевдоним эту команду следующую строку к вашему .gitconfig:

[alias] 
    listdiff = "!f() { git diff $1 $2 -- $(cat \"$3\"); }; f" 

и назвать его

git listdiff commit1 commit2 path/to/file 
+0

это очень хороший метод идти, я буду использовать его, пока что-то лучше не появится, спасибо! :) Я вижу, что вы можете сделать некоторые bash-подобные скрипты в 'gitconfig'. Невозможно сохранить эти файлы внутри 'gitconfig', а не другого файла? Также вы можете дать мне ссылку на некоторые ссылки на этот вид скриптов внутри 'gitconfig'? –

+1

@JasonSwartz Что значит «другой файл»? Вы можете поместить это в любую конфигурацию git, то есть '~ .gitconfig',' .git/config', '/ etc/gitconfig' и т. Д., См. [' Man git-config'] (https: // www. kernel.org/pub/software/scm/git/docs/git-config.html). Если вы начинаете псевдоним с '!', Остальная часть строки просто выполняется в вашей оболочке, так что это не «bash-like», это истинный bash (или любой другой shell, который вы используете). – kirelagin

+0

Я имел в виду не хранить отдельный файл для списка файлов. для хранения этого списка файлов в 'gitconfig'. –

Смежные вопросы