2014-09-01 3 views
0

Есть ли способ чтобы сделать выходные данные GIT список файлов фиксации какСписок фиксации-режим файлов в фиксации в мерзавца

git diff --name-only b242091~1 b242091 

, но это будет печатать дополнительный столбец с режимом, в котором файлы были добавлены (новые, удалены, изменены, ...).

Или иначе говоря: Есть ли что-то вроде

git status --porcelain 

, которые могут быть использованы на фиксаций?

Заранее благодарим за ответы!

+0

Я не могу воспроизвести вашу проблему, когда используется 'git diff -name-only', показаны только рисунки (версия git 1.9.1) –

+0

Возможно, у вас есть что-то в вашей конфигурации git, которая производит дополнительный вывод (попробуйте 'git config -l', чтобы показать его)? –

+0

@SvenKoschnicke Я думаю, что вы меня неправильно поняли: Я ХОЧУ дополнительный выход (см. Мой ответ ниже). Извините, английский язык не язык моей матери. –

ответ

3

Кажется, git diff --name-status - это то, что вы ищете.

$ git diff --name-status commit1 commit2 
M  path/to/modified-file 
D  path/to/deleted-file 
A  path/to/added-file 

На странице руководства git-diff (1) перечислены все возможные значения первого столбца и что они означают.

+0

Спасибо! –

0

До сих пор лучшее решение я нашел следующее (не очень красивый) AWK-скрипт на мерзавца дифф:

git diff HEAD~1 HEAD\ 
|awk '/^diff/{sub(/[^\/]*\//,"",$3);a=$3;getline;print $1, a}' 

Выход:

deleted file1 
index mydir/file2 
new file3 

Более красивые решения по-прежнему приветствуются!

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