Eu tenho uma filial local que rastreia a filial remota / principal. Após executar git-pull
e git-log
, o log mostrará todas as confirmações na ramificação de rastreamento remoto, bem como na ramificação atual. No entanto, como houve muitas alterações feitas na ramificação remota, preciso ver apenas as confirmações feitas na ramificação local atual.
Qual seria o comando Git a ser usado para mostrar apenas confirmações para uma ramificação específica?
Notas:
Informações de configuração:
[branch "my-branch"]
remote = origin
merge = refs/heads/master
fonte
git log --no-merges master..
era exatamente o que eu precisava.--no-merges
pode parecer que ele só está mostrando commits de um ramo específico, mas é realmente apenas mostrando commits que não resultaram em uma malagit log --no-merges --pretty='%C(yellow)%h%d %Creset%an %Cgreen%ar:%Creset %s' --graph master..
Usar:
É apenas para o ramo de destino (é claro que --graph, --abbrev-commit --decorate são mais polidos).
A opção principal é
--first-parent
: "Siga apenas o primeiro commit pai ao ver um commit de mesclagem" ( https://git-scm.com/docs/git-log )Impede que os garfos de confirmação sejam exibidos.
fonte
--first-parent <branch_name>
é a opção trabalho !--first-parent <branch_name>
também funcionou para mim! Acabei com um pseudônimo paragit log --first-parent $current_branch_name --no-merges
. Em resposta a @EdRandall, ele mostrará os commits na ramificação + aqueles de onde foram ramificados. Por exemplo:new_feature
do mestre. Você adiciona confirmações C e D a ele. Então você adiciona E e F ao mestre. Em seguida, você mescla o mestre emnew_feature
. Usandogit log
anew_feature
, você verá "mestre merge", F, E, D, C, A, B. usandogit log --first-parent new_feature --no-merges
, você verá D, C, A, B.Se você deseja apenas as confirmações feitas por você em uma ramificação específica, use o comando abaixo.
fonte
O problema que eu estava tendo, que acho que é semelhante a isso, é que o mestre estava muito à frente do meu ponto de ramificação para que a história fosse útil. (Navegar para o ponto de ramificação levaria muito tempo.)
Após algumas tentativas e erros, isso me deu aproximadamente o que eu queria:
fonte
apenas corra
git log origin/$BRANCH_NAME
fonte