2016-08-19 1 views
1

в нашем рабочем процессе мерзавца мы используем ветви (в значительной степени, как описано здесь a successful git branching model)как проверить, что все изменения были приняты после того, как мерзавец объединить

так, когда мы сливаемся одну ветвь в другой мы используем:

git checkout <destination> 
git merge --no-ff <src> 

Если есть конфликт, после его разрешения я хотел бы проверить правильность слияния (если ничего не было переписано в пункте назначения и если все изменения были взяты из источника).

чтобы проверить, не было ли что-либо переписано в пункт назначения, я запускаю разницу между фиксацией до слияния и фиксацией с разрешением слияния.

но как я могу проверить, что все было взято у мастера и не было потеряно в слиянии/разрешении?

спасибо.

+0

Вы должны сделать это вручную. Запустите diff для каждого файла. – Marusyk

+0

@MegaTron я боялся этого :) – memical

+0

Я думаю, что нет никакого способа, потому что только вы знаете, какие изменения должны быть применены. Но может быть, я не прав – Marusyk

ответ

1

вы можете просмотреть диф из результате слияния с предыдущей фиксацией в объединенной ветви

git diff HEAD^

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

1

Хорошо, вы можете быть уверены, что все, что есть не, конфликт был «взят» успешно. И с конфликтами вы должны их разрешить вручную, так что git не может вам помочь.

Если вы часто уверены в том, что происходит во время conflicht, git help merge имеет для Вас вариант:

An alternative style can be used by setting the "merge.conflictstyle" configuration variable to "diff3". In "diff3" 
    style, the above conflict may look like this: 

Установка этой опции делает это так, вы не только видеть ваши и с их стороны, но также оригинальный текст противоречивых строк. Это должно устранить все догадки.

+0

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

+0

Вы имеете в виду 'destination' перед слиянием или после слияния? Возможно, обновите свой вопрос выше и нарисуйте картинку. – AnoE