如何获取我创建的所有远程分支的列表

时间:2014-01-31 17:09:21

标签: git

命令git branch -a生成一个包含250多个分支的列表。我想知道哪些是我的,所以我可以验证它们已合并到生产中然后删除遥控器。

是否有git命令向我展示我创建的所有远程分支?如果我创建的所有分支仍然在我的本地仓库中,这会更容易,但是我最近有了一台新计算机,所以我的本地仓库丢失了。我本地没有分支机构,也没有完整的reflog。

1 个答案:

答案 0 :(得分:2)

假设你创建的分支是那些你最后一次提交的分支(你的情况是否正确?),这里有一个我写的小python脚本可以解决你的问题:

#!/usr/bin/python
import subprocess

remotes_output = subprocess.check_output("git branch -r".split())
remotes = remotes_output.split()[2:]

author_cmd = lambda b: "git log -1 --pretty=format:'%%an' %s" % b
for branch_name in remotes:
    print '%s : %s' % (branch_name, subprocess.check_output(author_cmd(branch_name).split()))

它采用远程分支的名称,删除第一个条目,它只是HEAD的映射并打印出他们的作者 - 在上面写的意义上。

现在,将此脚本复制到一个文件并grep shell中的输出:

python this_script.py | grep 'your name in git'