Git - патч с файлами, измененные коммитом

23 мая 2013
Просмотров: 6607Обсудить
Рубрика: Git

У меня достаточно часто возникает необходимость передать людям в архиве файлы, которые были изменены в новой версии продукта (в определенном коммите)

Решение в случае работы с гитом очень простое:

git diff --name-status HEAD HEAD^ | awk '{ if ($1 != "D") print $2 }' | xargs git archive -o output.zip HEAD

git diff --name-status HEAD HEAD^ - покажет разницу между последним коммитом (HEAD) и предпоследним (HEAD^). Так же можно указывать хеши нужных коммитов.

 

awk '{ if ($1 != "D") print $2 }' - отсекаем удаленные файлы

xargs git archive -o output.zip HEAD - сохраняем в архив

В результате получим все файлы (новые+измененные) с сохранением структуры проекта

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
Метки: ,


Комментариев: 3
Подписаться на комментарии по RSS
  • #12013-05-31 в 04:06:13james (анонимно)

    2 goda nebilo statej i vdrug nate vam )) RESPECT big surprise


  • #22013-05-31 в 04:08:39yaap

    @james (анонимно)

    Так сложилась жизнь, пришлось больше работать, меньше писать grin


  • #32013-08-19 в 19:40:33mealstrom (анонимно)

    zip modified-files.zip $(git log --pretty=format: --name-only --since="2 days 1 hour ago" | sort | uniq)

    Запаковать все изменные файлы за последние 2 дня и 1 час


Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

(обязательно)