Estou no ramo X e adicionei mais alguns commits em cima dele. Quero ver todas as diferenças entre o MASTER e o ramo em que estou em termos de consolidação. Eu poderia apenas fazer uma
git checkout master
git log
e então um
git checkout branch-X
git log
e diferencie-os visualmente, mas espero um método mais fácil e menos propenso a erros.
Respostas:
Você pode obter uma saída visual muito boa de como seus galhos diferem com esse
fonte
git log --oneline --graph --all --decorate --abbrev-commit
vai lhe dar uma saída similar em um comando mais curto / mais legívelgit log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset'
git log --oneline --graph --all --decorate
é suficiente,--abbrev-commit
não é necessário,--oneline
é curto--pretty=oneline --abbrev-commit
Você pode fazer isso facilmente com
Isso mostrará que você confirma o ramo X, mas o mestre não.
fonte
branch-X
você pode usargit log master..
git log master...branch-X
(três pontos em vez de dois). Vejaman gitrevisions
para mais informações.Acho que é questão de escolha e de contexto. Prefiro usar
Ele exibirá confirmações em desenvolvimento que não estão na ramificação mestre.
Se você deseja ver quais arquivos são realmente modificados, use
Se você não especificar argumentos, ele exibirá o diff completo. Se você quiser ver o visual diff, instale
meld
no linux ouWinMerge
no windows. Verifique se eles são os difftools padrão. Em seguida, use algo comoCaso você queira compará-lo com o ramo atual. É mais conveniente usar HEAD em vez do nome da filial, como use:
Ele mostrará todos os commits, prestes a serem mesclados
fonte
--no-merges
como:git log origin/master..HEAD --oneline --no-merges
Se você estiver no Linux,
gitg
é uma maneira de fazê-lo muito rapidamente e graficamente.Se você insistir na linha de comando, poderá usar:
Para tornar
git log
mais agradável por padrão, geralmente defino estas preferências globais:fonte
Eu sugiro o seguinte para ver a diferença "em confirmações". Para diferença simétrica, repita o comando com argumentos invertidos:
fonte
se você quiser usar o gitk:
tem uma boa interface gráfica da velha escola
fonte
Não é a resposta perfeita, mas funciona melhor para pessoas que usam o Github:
Vá para o seu repo:
Insights -> Network
fonte
Se você deseja comparar com base nas mensagens de confirmação, faça o seguinte:
fonte
--oneline
e tubulação paracut
você pode usargit log --format='%s'
Contribuindo com isso porque permite que os logs a e b sejam visualizados, lado a lado, se você tiver uma ferramenta de visual diff. Substitua o comando diff no final pelo comando para iniciar a ferramenta visual diff.
fonte
Usei algumas das respostas e encontrei uma que se encaixasse no meu caso (verifique se todas as tarefas estão no ramo de lançamento).
Outros métodos também funcionam, mas descobri que eles podem adicionar linhas que eu não preciso, como confirmações de mesclagem que não agregam valor.
ou você pode comparar seu atual com o mestre
git fetch
existe para garantir que você esteja usando informações atualizadas.Dessa forma, cada confirmação estará em uma linha e você poderá copiar / colar isso em um editor de texto e começar a comparar as tarefas com as confirmações que serão mescladas.
fonte