2015-06-13 3 views
1

Я работаю над почтовым крюком на голой репо. Я хочу получить имена файлов, которые были изменены и нажаты в этом голом репо (только последний). Чтобы получить его, я использую эту команду.git diff не работает на голой репо, после приема крюка

git diff --name-only HEAD^

Это дает мне ошибку, когда я нажимаю на голое репо.

remote: fatal: This operation must be run in a work tree 

Я понял, что в голом репо нет рабочей строки, поэтому эта команда не работает, но как ее запустить?

ответ

2

Я считаю, что команда, которую вы ищете, это git diff --name-only HEAD^ HEAD. Это будет сравнивать «текущую» фиксацию с фиксацией перед ней.

+0

Это дает «удаленный: фатальный: не репозиторий git» на голом репо. На не-голого репо работает нормально. Мне нужно, чтобы это было запущено на крючке после моего центрального опроса. – Foolish

+0

Хммм, это очень загадочная ошибка, так как это определенно _is_ git repository (иначе вы бы не получили исходную ошибку в своем вопросе). И я попробовал команду на моем голой репо, и она отлично работала, хотя и не была частью крючка. Из любопытства вы можете запустить команду на своем голом репо из командной строки, т. Е. Не как часть крючка? –

+0

@Foolish Я не получаю ошибок с указанной выше командой в режиме открытого репо. Может, что-то еще не так? – suvayu

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