Git - найти владельца ветки без фиксации [дублировать]

95
задан Ofir Farchy 10 November 2014 в 16:55
поделиться

8 ответов

Добавление к https://stackoverflow.com/a/19135644/2917986

git for-each-ref --format='%(committerdate) %09 %(authorname) %09 %(refname)' | sort -k5n -k2M -k3n -k4n | awk '{print $7 $8}'

P.S. Мы использовали awk для красивой печати автора & amp; удаленная ветвь

37
ответ дан Community 4 September 2018 в 09:37
поделиться

, предполагая:

  1. ветвь сделана из master
  2. еще не слита с master

 git log --format="%ae %an" master..<HERE_COMES_BRANCH_NAME> | tail -1
1
ответ дан Aleksey Bykov 4 September 2018 в 09:37
поделиться

Я знаю, что это не совсем вопрос, но если вы обнаружите, что нужно фильтровать только коммиты определенного автора, вы всегда можете подключиться к 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'

счастливое кодирование ! :)

0
ответ дан avocadojesus 4 September 2018 в 09:37
поделиться

Список удаленных филиалов Git Автор Сортировано по committerdate:

git for-each-ref --format='%(committerdate) %09 %(authorname) %09 %(refname)' | sort -k5n -k2M -k3n -k4n
217
ответ дан DarVar 4 September 2018 в 09:37
поделиться

Вы можете узнать, кто создал ветку в вашем локальном репозитории по

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/branch. Пример содержимого:

0000000000000000000000000000000000000000 e1dd9409c4ba60c28ad9e7e8a4b4c5ed783ba69b a <a@none> 1438788420 +0200   branch: Created from HEAD

Последняя фиксация в этом примере была от пользователя «b», а ветвь «b2» была создана пользователем «a». Если вы измените свое имя пользователя, вы можете проверить, что git reflog берет информацию из журнала и не использует локального пользователя.

Я не знаю никакой возможности передавать эту локальную информацию журнала в центральный репозиторий .

3
ответ дан Gustave 4 September 2018 в 09:37
поделиться

Насколько я знаю, вы можете увидеть, являетесь ли вы только создателем ветки. Это указывается первой строкой в ​​.git / ref / heads / & lt; branch & gt ;. Если он заканчивается на «Создано из HEAD», вы являетесь создателем.

0
ответ дан Kendor 4 September 2018 в 09:37
поделиться
git for-each-ref --format='%(authorname) %09 -%(refname)' | sort
7
ответ дан KhaledMohamedP 4 September 2018 в 09:37
поделиться

Я изменил вышеупомянутые ответы, используя флаг -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
15
ответ дан Mike 4 September 2018 в 09:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: