9 ответов:
ветвь - это не что иное, как указатель фиксации. Таким образом, он не отслеживает метаданные, такие как "кто меня создал.- Смотрите сами. Попробуй
cat .git/refs/heads/<branch>в вашем репозитории.это написано, Если вы действительно отслеживаете эту информацию в своем репозитории, проверьте описания ветке. они позволяют прикреплять произвольные метаданные к ветвям, по крайней мере локально.
и ответ Дарвара ниже очень умный способ добраться до этого информация.
список удаленных ветвей Git по автору отсортированный по committerdate:
git for-each-ref --format='%(committerdate) %09 %(authorname) %09 %(refname)' | sort -k5n -k2M -k3n -k4n
Я изменил ответы выше, используя флаг --sort и добавив некоторые цвета/форматирование.
git for-each-ref --format='%(color:cyan)%(authordate:format:%m/%d/%Y %I:%M %p) %(align:25,left)%(color:yellow)%(authorname)%(end) %(color:reset)%(refname:strip=3)' --sort=authordate refs/remotes
добавление к https://stackoverflow.com/a/19135644/2917986
git for-each-ref --format='%(committerdate) %09 %(authorname) %09 %(refname)' | sort -k5n -k2M -k3n -k4n | awk '{print }'P. S. Мы использовать awk, чтобы красиво напечатать автор & удаленного филиала
вы можете узнать, кто создал ветку в свой local хранилище
git reflog --format=fullпример:
commit e1dd940 Reflog: HEAD@{0} (a <a@none>) Reflog message: checkout: moving from master to b2 Author: b <b.none> Commit: b <b.none> (...)но это, вероятно, бесполезно, как правило, на вашем локальном репозитории только вы создаете ветви.
информация хранится на ./.git / logs / refs / heads/филиала. Пример содержания:
0000000000000000000000000000000000000000 e1dd9409c4ba60c28ad9e7e8a4b4c5ed783ba69b a <a@none> 1438788420 +0200 branch: Created from HEADпоследняя фиксация в этом примере была от пользователя "b", в то время как ветвь" b2 "была создана пользователем"a". Если вы изменение имени пользователя вы можете убедиться, что Git reflog принимает информацию из журнала и не использует локального пользователя.
Я не знаю о какой-либо возможности передать информацию о местных журналов в центральный репозиторий.
предположим:
- ветка была сделана из
master- не был объединен в
masterеще
git log --format="%ae %an" master..<HERE_COMES_BRANCH_NAME> | tail -1
насколько я знаю, вы можете увидеть, если вы являются создателем только ветви. На это указывает первая строка .git/ref/heads /
. Если это заканчивается "созданным из головы", вы-творец.
Я знаю, что это не совсем область вопроса, но если вы обнаружите необходимость фильтровать только коммиты определенного автора, вы всегда можете передать grep:)
# lists all commits in chronological order that # belong to the github account with # username `MY_GITHUB_USERNAME` (obviously you # would want to replace that with your github username, # or the username you are trying to filter by) git for-each-ref --format='%(committerdate) %09 %(authorname) %09 %(refname)' | sort -committerdate | grep 'MY_GITHUB_USERNAME'удачи в кодировании! :)
Comments