[devel] Git: как правильно избавиться от патча в виде бранча ?

Aleksey Avdeev solo на solin.spb.ru
Вт Сен 22 13:12:48 MSK 2015


22.09.2015 10:08, Sergey Afonin пишет:
> On Friday 11 September 2015, Aleksey Avdeev wrote:
> 
>>  Если патч не сильно большой, то как правило помогает git revert
>>  его коммитов (+ решение конфликтов от наслоений).
>  
> А есть способ их легко найти ? Или только лог смотреть и искать по
> описанию ?

  Я обычно использую 2 способа:

1. Если удаляемый патч выделен в отдельный бранч
(patches/other/005-autocreate в вашем случаи), то помогает запуск gitk
--all и проход по истории бранча, содержащий удаляемый патч. Часто так
можно быстро найти все существенные коммиты бранча.

2. Несколько более муторый способ (но и более надёжный):

а) Отобразить фактические изменения происходящие при мерже бранча с патчем:

$ git diff <merge_commit>{^,}

б) Отображаем коммиты, в которых происходят похожие изменения:

$ git log -S '<подстрока>' <бранч> -- <файл>

где:

<подстрока> -- подстрока нового варианта одной из изменённых строк;

<бранч> -- бранч с патчем (patches/other/005-autocreate);

<файл> -- изменённый файл.

в) Просмотр полученных коммитов в gitk -- высока вероятность что один из
них тот, что нужен для git revert (или он находится в их окрестностях).

Примечания:

1. Помимо поиска по подстроке git log позволяет искать и по регулярному
выражению.

2. gitk позволяет простым образом выделить коммиты где:

а) изменялся заданный файл;

б) добавлялась/удалялась строка, содержащая заданную подстроку.

-- 

С уважением. Алексей.

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 278 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20150922/7dcbd8ab/attachment.bin>


Подробная информация о списке рассылки Devel