Nam*_*man 8 git github git-branch
knownUserName在我们的代码库(repoEx)中有一个user()创建的分支.他在那里承诺并push修改了他的一些改变,但他没有为此创建拉动请求.
它已经很长了,存储库现在拥有的分支数量呈指数增长,因此我们无法遍历所有分支并找到由他创建的分支.
有没有办法使用git命令行或GitHub接口搜索所有分支,以查找用户在特定存储库中创建的所有分支?
我尝试使用GitHub接口并https://github.com/repoEx/branches/all使用搜索参数过滤分支(下) -
author:<knownUserName>
Run Code Online (Sandbox Code Playgroud)
但这不行.搜索似乎对分支名称有效,但我对该名称没有任何线索.
这是针对 OS X 的。只需在此答案中添加 grep并修改电子邮件,您就会得到
git for-each-ref --format='%(committerdate) %09 %(authoremail) %09 %(refname)' | sort -k5n -k2M -k3n -k4n | grep <author-email>
Run Code Online (Sandbox Code Playgroud)
效果很好。
[其他答案对我不起作用,不知道为什么]
在分支上循环,显示最后的提交信息,并 grep 用户名。
您将获得您正在寻找的提交 ID:
for co in `git branch -a --no-merge`; do git log -1 --no-walk --pretty=format:"%h - %an, %ar : %s" $co; done | grep <knownUserName>
Run Code Online (Sandbox Code Playgroud)