Como posso ver commits recebidos no git?

Duplicar Possível:
Usando o Git como faço para encontrar arquivos modificados entre locais e remotos

Como posso ver commits recebidos no git? Ou melhor ainda, ver o que eu acabei de git fetch / git pull ?

Edit: Para esclarecer a questão: alguém me diz que, para obter algumas correções, eu deveria puxar de seu repository. Meu objective é ver quais são as mudanças antes de aceitá-las. git pull mescla automaticamente, que não é o que eu quero. git fetch os agarra sem precisar mesclar, mas não tenho certeza de como ver exatamente o que acabei de puxar. O motivo da frase é que normalmente uso o Mercurial, onde o comando seria hg incoming – comando para o qual o git parece não ter um analógico.

incoming não é um mapeamento direto no git porque você pode (e eu geralmente faço isso) ter vários repositorys que você está usando, e cada repository tem múltiplos branches.

Se houvesse um equivalente do comando de input do hg, provavelmente seria este:

 git fetch && git log ..origin/master 

Isto é, “pegue todo o material do upstream e compare meu branch atual com o master branch upstream”.

Da mesma forma, saída seria esta:

 git fetch && git log origin/master.. 

Na prática, eu apenas os escrevo manualmente (mesmo que eu tenha criado um alias para um deles) porque é fácil ter muitas ramificações locais rastreando e sendo rastreadas por muitas ramificações remotas e não ter problemas em mantê-las juntas.

Você também pode estar interessado em git whatchanged que dá uma boa visão geral das mudanças que foram feitas em algum tipo de commits.

Se você quiser revisar o que você está prestes a fazer, faça uma git fetch primeiro, que atualiza apenas as ramificações de rastreamento locais para o repository remoto (e não qualquer uma das suas ramificações) e usa qualquer comando que mostre as novas confirmações você está prestes a puxar. Por exemplo:

 git whatchanged ..origin 

Isso é uma forma abreviada de mostrar os comprometimentos entre “o ancestral comum de onde quer que eu esteja agora e a origem” através da “origem”.

Você pode querer examinar a diferença entre dois repositorys. Supondo que você tenha uma ramificação local ‘master’ e uma ramificação de controle remoto ‘origin / master’, onde outras pessoas enviam seu código, você pode obter statistics diferentes sobre as diferenças das duas ramificações:

 git diff --summary master origin/master git diff --stat master origin/master git diff --numstat master origin/master git diff --dirstat master origin/master git diff --shortstat master origin/master git diff --name-only master origin/master git diff master origin/master 

Quando alguém lhe disser para puxar, ele lhe dará o URL do repo e um branch (o padrão é master ).

Eu apenas faria

 git fetch URL branch 

seguido por um (em ordem decrescente de preferência):

 # note 3 dots in next 3 commands gitk HEAD...FETCH_HEAD # shows all commits on both sides since the "fork" point gitk --cherry-pick HEAD...FETCH_HEAD # as above but skips identical patches so you really see the differences git log --graph --boundary --left-right --cherry-pick --decorate HEAD...FETCH_HEAD # I have a nice alias for this; it's the text mode eqvt of the above 

Eu também uso ” tig ” às vezes, mas este exemplo específico (vendo ambos os lados) não é bem servido por tig .

No entanto, se você reduzir para dois pontos (que podem corresponder à sua pergunta real mais de perto, embora eu ainda prefira as versões de 3 pontos), você pode fazer

 tig HEAD..FETCH_HEAD 

Aqui estão os aliases por conveniência:

 incoming = !sh -c 'git fetch && git log --graph --boundary --left-right --cherry-pick --decorate HEAD..FETCH_HEAD' outgoing = !sh -c 'git fetch && git log --graph --boundary --left-right --cherry-pick --decorate FETCH_HEAD..HEAD' 

Não existe algo como “commits recebidos” usuários cometem localmente e os empurram. Eu abriria o gitx ou o gitk (que vem com o git) e verificar como é o repos … Acho que isso vai lhe dar uma visão clara.

use: gitk --all para ver.

Dê uma olhada neste post. Ele mostra o uso de um novo recurso que foi introduzido no git versão 1.7 Usando o Git como faço para encontrar alterações entre local e remoto