Я хочу узнать, кто создал ветку.
Я вроде в состоянии сделать это с:
git branch -a | xargs -L 1 bash -c 'echo "$1 `git log --pretty=format:"%H %an" $1^..$1`"' _
Однако это возвращает последнего коммиттера на ветку, а не обязательно человека, который создал ветку.
git
git-branch
Офир Фарчи
источник
источник
Ответы:
Ветвь - это не что иное, как указатель фиксации. Таким образом, он не отслеживает метаданные типа «кто создал меня». Посмотреть на себя. Попробуй
cat .git/refs/heads/<branch>
в своем репозитории.Тем не менее, если вы действительно хотите отслеживать эту информацию в своем хранилище, ознакомьтесь с описаниями веток. Они позволяют вам прикреплять произвольные метаданные к филиалам, по крайней мере локально.
Также ответ DarVar ниже - очень умный способ получить эту информацию.
источник
Вывести список удаленных веток Git по автору, отсортированному по дате коммиттера:
источник
git for-each-ref --format='%(committerdate)%09%(authorname)%09%(refname)' | sort -k5n -k2M -k3n -k4n | grep remotes | awk -F "\t" '{ printf "%-32s %-27s %s\n", $1, $2, $3 }'
(получил идею от stackoverflow.com/a/3631819 - возможно, потребуется скорректировать числа в awk printf в зависимости от максимальной длины даты / времени имени автора)Я подправил предыдущие ответы, используя
--sort
флаг и добавил немного цвета / форматирования:источник
источник
Добавление к ответу DarVar :
PS: Мы использовали AWK, чтобы красиво напечатать автора и удаленную ветку.
источник
Вы можете узнать, кто создал ветку в вашем локальном хранилище,
Пример вывода:
Но это, вероятно, бесполезно, так как обычно в вашем локальном репозитории вы создаете только ветки.
Информация хранится в ./.git/logs/refs/heads/ branch . Пример содержания:
Последний коммит в этом примере был от пользователя "b", а ветка "b2" была создана пользователем "a". Если вы измените свое имя пользователя, вы можете убедиться, что git reflog берет информацию из журнала и не использует локального пользователя.
Я не знаю ни о какой возможности передать эту локальную информацию журнала в центральное хранилище.
источник
Мы можем узнать, основываясь на имени автора
источник
Предполагая, что:
master
master
ещеисточник
Я знаю, что это не совсем вопрос вопроса, но если вы обнаружите необходимость фильтровать только коммиты по конкретному автору, вы всегда можете обратиться к grep :)
Удачного кодирования! :)
источник
для тех, кто ищет DESC ... это похоже на работу
--sort=-
ты для форматирования, плохо знакомый с этим ... мои глаза теряют часть его налитого кровью
дополнительная ссылка: https://stackoverflow.com/a/5188364/10643471
источник
Насколько я знаю, вы можете видеть, являетесь ли вы только создателем ветки. На это указывает первая строка в .git / ref /heads / <branch>. Если это заканчивается «Создано из головы», вы являетесь создателем.
источник