Мне нужно получить отчет обо всех коммитах, которые сделал автор. Пока у меня есть сценарий, который заключает в себе следующую команду:
git log --pretty=format:"%ad:%an:%d:%B" --date=short --reverse --all --since=2.months.ago --author=Petr
Работает нормально. Тем не менее, он сообщает только о действиях для текущей ветви. Есть ли какая-либо опция, которая бы регистрировала сообщения о коммитах для автора из всех веток , а не только из текущей?
Другими словами, может ли git создать отсортированную по дате и времени последовательность всех коммитов в репозитории и извлечь информацию журнала из этой последовательности?
Решено: (скопировано из комментария ниже, который скрыт в противном случае)
Проблема заключалась в том, что у меня есть один репозиторий и два клона для одновременной работы на двух ветвях. Я перенес изменения в исходный репозиторий, но забыл получить изменения клонированного репозитория. Таким образом казалось, что --all
не работает при использовании его для клонированного хранилища.
git log
принимает вcommittish
качестве первого аргумента:git log mybranch
(и перечисляет все ваши ветви сgit branch
).committish
? Можно ли получить информацию с помощью одной команды git?--all
. Ваша команда вернаgit rev-list
разборе,git log --all
все в порядке.--all
, но, похоже, у меня это не работает. Я не понимаю его пояснения: притворись так, будто все ссылкиrefs/
указаны в командной строке как<commit>
.Ответы:
Ваша команда верна, так как вы используете
--all
переключатель, который выдает все коммиты из всех веток. Чтобы ответить на вопрос в вашем комментарии, он работает также в голых репозиториях.источник
Вместо этого
--all
вы можете использовать--branches
, так как--all
также включаетrefs/tags
иrefs/remotes
.источник