Команда git для отображения несвязанных ветвей для конкретного пользователя в главном репо
git branch -a --no-merged master
Используется указанная выше команда, но невозможно выполнить фильтрацию по конкретному пользователю, поскольку объем нераспределенных ветвей составляет 3 КБ, их необходимо очистить.
возможно, здесь уже есть полезная информация: stackoverflow.com/questions/12055198/…
Я просто хочу увидеть список тех, кто создал ветку, но не внес никаких изменений в код.
Делегируйте очистку пользователям. Кроме того, сделайте частью своего рабочего процесса удаление объединенных ветвей, желательно в рамках их слияния.
Предполагая, что «для конкретного пользователя» означает автора или коммиттера последнего коммита в подсказке, используйте все, что хотите, для создания коммитов-кандидатов и git log
для фильтрации и аннотирования списка:
git for-each-ref --no-merged=master --format='%(objectname)' refs/heads refs/remotes \
| git log --no-walk --stdin --pretty='%h %an %d' --author = "your name here" # or --committer= and %cn, or whatever.
git log
--no-walk
говорит, что вам не нужны истории, вам просто нужна информация о конкретных коммитах. --stdin
говорит, что вы генерируете список и кормите его таким образом, остальное все как обычно.
изменить: остроумие на лестнице говорит: «Да, git log
сам могу найти все ветки и пульты».
git log --no-walk --branches --remotes --pretty='%h %an %d' --author=Jim
git branch -r --no-merged | xargs git show --no-patch --oneline --format='%cI %h %an %S' | grep "$(git config user.name)"
-r: Remote Branches or `-a`: for all branches
--no-merged: Branches which are unmerged
`|` pipe that command to `git show`
xargs: passes each branch listed to `git show`
--no-patch: suppress the diff output
--oneline: pretty prints the output
--format:
- %cI: ISO8601 date format
- %h: abbreviated commit hash
- %an: Author name
- %S: ref name
`|` pipe that command to `grep`
-- grep: grep the author configured at `git config user.name`
если вам нужно конкретное имя пользователя или адрес электронной почты, вы также можете использовать grep напрямую. | grep "<string>"
Что такое «пользователь для филиала»? Вы можете видеть только пользователя коммита, а ветка — это не что иное, как указатель на последний коммит этой ветки. Или вы хотите узнать создателя ветки (то есть просто пользователя, сделавшего первый коммит в ветку). Или вы хотите увидеть всех людей, работающих с этой веткой... вариантов много :-)