Сравните незафиксированные исправления в prod с веткой git - PullRequest
0 голосов
/ 14 декабря 2018

Мы используем git для хранения исходного кода и используем master / release / development в качестве основных веток.Обычно мы создаем новую ветку, чтобы добавить новую функцию, а затем объединяем для разработки и выпуска.Но когда производство требует немедленного исправления, мы изменяем код непосредственно в prod и создаем ветку исправлений, которая затем объединяется со всеми тремя основными ветвями.

Я хотел бы сравнить эти незафиксированные изменения в prod с git, особенно с выпуском и выпускомразрабатывать ветки, которые однажды станут новыми хозяевами - просто чтобы быть уверенным, что никто не забыл зафиксировать некоторые изменения из prod.

Вручную я могу использовать git diff и сравнить, было ли оно объединено с веткой релиза, но это не быстроДостаточно, и это руководство.

Можете ли вы помочь мне, как сравнить незафиксированные изменения с содержимым git?

1 Ответ

0 голосов
/ 14 декабря 2018

Все, что вы делаете вручную, вы можете преобразовать в скрипт

Например, если вы хотите сравнить 3 ветви:

git diff <b1> <b2> <b3>

Если вы хотите, вы также можете создавать файлы патчей между веткамии снова обернуть его сценарием.Ваш сценарий может стать вашим псевдонимом

# extract all commits as patches, each one inits own patch file
git format-patch <b1> <b2>

# generate a single patch per changes
git diff <b1> <b2> > patch.txt

После того, как вы получите свои сценарии, вы можете использовать git-хуки или процесс CI / CD, который будет запущен при слиянии и сгенерирует для вас исправления.

Вот пример сценария:

#!/bin/sh

# loop on the desired branches (you can pass them as arguments as well)
for branch in b1 b2
do
    # generate the patch file and write it to a file with the branch name
    git diff master..$branch > $branch.txt
done;
...