Histórico de filial com exclusões de filial

Quando mudanças de vários ramos são necessárias para testar a integração com outro desenvolvimento paralelo, pode se tornar difícil visualizar o histórico de um ramo específico que está sendo trabalhado. Estarei me referindo a três ramos mestre , recurso e integração , cuja contagem e nomenclatura são para fins de simplicidade.

Porque você precisa obter as alterações do master e do recurso em seu branch. Para fazer isso, você deve fazer o seguinte:

git checkout integration
git merge origin
/master
git merge origin
/feature

Agora, se você fizer:

git log origin/master..

Você descobrirá que tem o histórico de mudanças na ramificação de integração e na ramificação de recurso interligados. Freqüentemente, isso será o que você deseja ver (já que se você fosse fundir este branch em qualquer outro branch, estes seriam o conjunto de commits que seriam fundidos).

No entanto, pode ser útil ver quais mudanças foram feitas apenas no branch de integração .

Para fazer isso, você pode usar um recurso do git log para excluir commits de outros branches.

git log --no-merges --oneline ^origin/feature origin/master..HEAD

Observe que é possível expandir isso para um número arbitrário de ramificações simplesmente negando as ramificações que foram mescladas.