виявити зміни між двома різними користувачами git (з їх останнього фіксації)?


0

Як я можу виявити зміни (скажімо, за рядком, якщо вони взагалі відрізняються) між двома різними користувачами git (і їх останньою фіксацією)?

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

Наприклад, 29 березня був останнім днем ​​користувачем А, який вступив до репо (admin) і 8 червня, є останнім днем, користувач B мав фіксацію локально (не адміністратор так не може натиснути, щоб освоїти). Я хотів би знати, що всі рядки додані користувачем B до репо (або модифіковані). Ось останній статус git користувача 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

Відповіді:


1

Пошук останніх коммітів різних авторів

Враховуючи, що ваш місцевий master відділення попереду origin/master і, таким чином, містить всі відповідні комміти, які можна використовувати git log для пошуку останньої комісії кожного користувача:

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

а потім порівняйте їх із компіляцією

git diff COMMIT1 COMMIT2

однак, він може також містити інші зміни, якщо між ними існують компроміси.

щоб переглянути зміни знайдених компіляцій як diffs:

git show COMMIT1
git show COMMIT2

Пояснення

  • https://git-scm.com/docs/git-log
  • git log спочатку показують найновіші
  • пошук автора: --author= (Ви також можете шукати комунікатора, якщо це відрізняється)
  • обмеження до 1 фіксації (тобто останнього): -1

Пастки

Якщо коміти на різних гілках, git log може бути використано

  • з назвами гілок
  • с --branches= і шаблон пошуку для імен галузей
  • с --all, для всіх філій

У другому фрагменті це має бути COMMIT1 COMMIT2? : P
ethanwu10

@ ethanwu10: дійсно, спасибі за те, що ви ловили друкарську помилку! Виправлено.
Stefan Moch
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.