git分支可以用数字列出吗?

Har*_*dev 2 git branch

我想知道是否有人已经构建了一个脚本或者有办法用数字列出git分支,而不是这个(最好是在bash中)

feature/myusername/ID-1111-my-branch-name
feature/myusername/ID-2222-my-branch-name
feature/myusername/ID-3333-my-branch-name
feature/myusername/ID-4444-my-branch-name
Run Code Online (Sandbox Code Playgroud)

我可以得到这样的列表(或类似的)

#1 feature/myusername/ID-1111-my-branch-name
#2 feature/myusername/ID-2222-my-branch-name
#3 feature/myusername/ID-3333-my-branch-name
#4 feature/myusername/ID-4444-my-branch-name
Run Code Online (Sandbox Code Playgroud)

然后检查一个分支就像这样简单

git checkout #4
Run Code Online (Sandbox Code Playgroud)

Ald*_*ath 5

这听起来很容易创建.简单的实现可以使用两个单行脚本/别名.

git-lbr(l ist br anch):

#!/bin/bash

git branch --no-color | cat -n
Run Code Online (Sandbox Code Playgroud)

git-coid(c heck o ut id)

#!/bin/bash

git checkout $(git lbr | egrep "^\s+$1\s+" | egrep -o '\S*$')
Run Code Online (Sandbox Code Playgroud)

但这是一个简单的实现,对于缺少输入/非数字输入/超出范围分支ID的情况没有错误处理.

使用示例:

$ git lbr
     1    branch_42
     2    feature/super-feature
     3    foo/bar
     4  * master

$ git coid 1
Switched to branch 'branch_42'
Your branch is up-to-date with 'master'.
Run Code Online (Sandbox Code Playgroud)