detecta as mudanças entre dois usuários diferentes do git (desde o último commit)?

0

Como posso detectar as alterações (digamos, linha por linha, se diferente) entre dois usuários diferentes do git (e seu último commit)?

mona@DESKTOP-0JQ770H:/mnt/c/june1st_branch$ git log --pretty=format:"%H"  --after "2017-03-30 00:00"
17e24f8f66eda0b831ed2296482c7a4d42a8a0ba
6af4704ae5e2aacbdc52b4ad3057458158656c11
c6d33cc7fe7d4a86540589efdaa42b56ccd73a73
mona@DESKTOP-0JQ770H:/mnt/c/june1st_branch$ git log --pretty=format:"%H"  --after "2017-03-29 00:00"
17e24f8f66eda0b831ed2296482c7a4d42a8a0ba
6af4704ae5e2aacbdc52b4ad3057458158656c11
c6d33cc7fe7d4a86540589efdaa42b56ccd73a73
7b86066431bc4139ef2bcbcc9ee31e248108592a
05d321cae73f46499e656f84b644dd2c9c244a5e
mona@DESKTOP-0JQ770H:/mnt/c/june1st_branch$ git log --pretty=format:"%H"  --after "2017-05-01 00:00"
17e24f8f66eda0b831ed2296482c7a4d42a8a0ba
6af4704ae5e2aacbdc52b4ad3057458158656c11
c6d33cc7fe7d4a86540589efdaa42b56ccd73a73
Por exemplo, 29 de março foi o último dia em que o usuário A comprometeu-se com o repo (admin) e 8 de junho, é o último dia em que o usuário B teve um commit localmente (não admin, portanto não pode enviar para master). Eu gostaria de saber quais são todas as linhas adicionadas pelo usuário B ao repo (ou modificado). Aqui está o último status do git do usuário B:

mona@DESKTOP-0JQ770H:/mnt/c/june1st_branch$ git status
On branch master
Your branch is ahead of 'origin/master' by 3 commits.
  (use "git push" to publish your local commits)

nothing to commit, working directory clean
    
por Mona Jalal 09.06.2017 / 01:08

1 resposta

1

Encontrando os últimos commits de diferentes autores

Dado que sua ramificação local master está à frente de origin/master e, portanto, contém todos os commits relevantes, você pode usar git log para pesquisar o último commit do usuário do earch:

git log --pretty=format:"%H" -1 --author=EMAIL

e, em seguida, compare isso com commits com

git diff COMMIT1 COMMIT2

no entanto, ele pode conter outras alterações também, se houver commits entre elas.

para visualizar as alterações dos commits encontrados como diffs:

git show COMMIT1
git show COMMIT2

Explicação

  • link
  • git log mostra o mais novo primeiro
  • pesquisa do autor: --author= (você também pode pesquisar committer, se isso for diferente)
  • limite para 1 confirmação (por exemplo, o último): -1

Armadilhas

Se os commits estiverem em ramificações diferentes, git log pode ser usado

  • com nomes de filiais
  • com --branches= e um padrão de pesquisa para nomes de filiais
  • com --all , para todas as filiais
por 17.06.2017 / 21:21

Tags