Разница между git-log и git-чем изменилась?

  1. Учитывая этот ответ на другой вопрос, и
  2. учитывая, что справочные страницы для git-log и git-whatloaded говорят, что они извлекают из git-rev-list...

... в чем же разница между двумя командами? Зачем им обоим?

3 ответа

Решение

В коммите 52f425e1 (30 августа 2013 г.) упоминается:

Поощряйте использование новых пользователей log'вместо. В наши дни эти команды унифицированы и имеют разные значения по умолчанию.

' git log "Позволял просматривать только сообщения журнала и отсутствие различий, когда они были добавлены в начале июня 2005 года. Только в начале апреля 2006 года команда научилась принимать параметры различий.
Из-за этого опытные пользователи, как правило, использовали whatchanged ", которая уже существует с середины мая 2005 года и поддерживает различные параметры.


Вот для чего новая версия справочной страницы git whatchanged скажу сейчас:

Новым пользователям рекомендуется использовать git log вместо. whatchanged Команда по сути такая же, как git log но по умолчанию показывает исходный формат diff и пропускает слияния.

Команда сохраняется в основном по историческим причинам; пальцы многих людей, которые изучили Git задолго до git log был придуман чтением списка рассылки ядра Linux, обучен его печатать.

В простейшем виде "git log" показывает каждый коммит (sha, автор, дата, сообщение), тогда как "git whatchanged" показывает коммит плюс измененные файлы. Например:

$ git log
commit db9f525674443314a9822a6bd6c3acce49c8f8d6
Author: ...
Date:   Wed Apr 4 22:55:33 2012 -0700

Add more

commit eed0b7aa3cad5d985b5f1d52f3c0605339c119a1
Author: ...
Date:   Tue Apr 3 20:36:04 2012 -0700

del bing/one.c

но за что поменял

$ git whatchanged
commit db9f525674443314a9822a6bd6c3acce49c8f8d6
Author: ...
Date:   Wed Apr 4 22:55:33 2012 -0700

Add more

:100644 100644 f2e4113... d415016... M  bar.c

commit eed0b7aa3cad5d985b5f1d52f3c0605339c119a1
Author: ...
Date:   Tue Apr 3 20:36:04 2012 -0700

del bing/one.c

:100644 000000 e69de29... 0000000... D  bing/one.c

Существует множество опций для изменения вывода каждой команды. Например, 'git whatchanged -p' показывает изменения в форме diff/patch.

Я не совсем согласен. Можете ли вы увидеть слияние измененных файлов с log?

Я не нашел эту функциональность и очень полезен для того, чтобы узнать, когда файл был объединен в какую-то ветку, например:

file c.c в branch1 имеет дату фиксации с 01.01.2012, если вы делаете слияние с branch2и позже хотел бы следить за днем, когда этот коммит был введен в branch2, Можно git log Помогите? Если у вас есть слияния, вы можете искать в них с git whatchanged -m sha1

Другие вопросы по тегам