在git中提取所有分支,并为所有分支获取哈希码

时间:2020-02-28 06:59:10

标签: git

我正在尝试在git中获取一个命令,该命令可以帮助我获取所有分支或代码的列表,还可以在同一个命令之前列出所有哈希码。因为我要删除所有陈旧的分支,并确保它安全以备以后检索。

要列出所有分支,只需执行以下命令即可。

Git branch -r 

获取分支的哈希码

git rev-parse <BranchName>

我能得到一个命令,在其中列出所有分支和其前面的哈希码吗?

3 个答案:

答案 0 :(得分:2)

 git for-each-ref refs/remotes --format="%(objectname) %(refname:lstrip=2)"

git for-each-ref输出有关所有本地参考的信息。

refs/remotes是远程跟踪分支的模式。仅匹配该图案的裁判。

--format格式化输出。这里的%(objectname)是指提交哈希。后面的空格实际上是一个空格。 %(refname)是引用名称。远程跟踪分支的全名类似于refs/remotes/origin/foo:lstrip=2压抑左侧的两个部分refsremotes

有关更多信息,请参见git for-each-ref

答案 1 :(得分:1)

我使用了$filePathscut循环来找到解决方案:

while

答案 2 :(得分:0)

我得到了一些答案,但仍然没有具体说明:

使用的命令: 列出所有分支:

git branch -r >>branchesList

列出分支的所有哈希码:

for remote in git branch -r; do git rev-parse $remote ; done >> hascodeforbranches.txt*

将其放入xl中,您将获得一个映射。