Как в git убедиться, что коммит merge upstream master
не содержит дополнительных различий? Скажем, я хочу убедиться, что человек не сделал ничего «подлого», кроме фактического слияния изменений из основной ветки восходящего потока.
Я хочу убедиться, что различия исходят только от других коммитов, которые они сделали; что они не выполнили "злое слияние".
Есть ли способ убедиться, что на этапе слияния не было внесено никаких дополнительных изменений?
Или еще лучше: покажите мне потенциальные различия "злого слияния", чтобы я мог сам увидеть, какая дополнительная работа может потребоваться было сделано?
Пример сценария:
P1---P2 P3---P4---P5---P6
/ \ / / \
A---B---C---D--E--------F---------G master
\ /
C1---C2
P1..P2: First pull request
C1..C2: My working branch
P3..P4: More work done inbetween
P5: The commit that merges in master branch changes
P6: More regular work
- Кто-то отправляет запрос на включение в мой репозиторий (
P1..P2
) - Запрос на вытягивание просто фантастический, и я его объединяю (
E
) - Я занимаюсь дальнейшей разработкой (
C1..C2
), интегрирую свою собственную ветку в master (F
) и публикую - Другой человек за это время проделал больше работы (
P3..P4
) - Они объединяют изменения в своем локальном репозитории (
P5
), вносят дополнительные изменения (P6
) и отправляют второй запрос на включение. - Могу ли я убедиться, что они не добавили никаких дополнительных различий во время слияния (
P5
)?
git diff --name-status master..branchName
? - person royki   schedule 28.11.2014git diff --name-status master..branchName
, кажется, показывает мне только список всех файлов, которые были изменены, а не фактические различия кода. Кроме того, он показывает все файлы, которые обычно были частью слияния и включались в оба родителя. Я ищу только те различия, которых не было у обоих родителей. «Злое слияние» меняется. - person culix   schedule 28.11.2014SourceTree
SourceTree? Или еще лучше вEmacs
. - person royki   schedule 28.11.2014