Git 提效篇
集团的流程工具会生成一团奇形怪状的分支名称,要记忆这些分支名是一项难题,默认的
git branch 列出的本地分支都是几乎无法识别的乱码,如何快速标识、识别、打开这些丑陋的分支名呢?
1. 备注分支
1\n git config branch.WTF01942367\n20170510\nwtfbffweb.description "什么鬼迭代 1.0"
2\n git branch
3 WTF01730954\n20170224\nwtfbffweb
4 WTF01785082\n20170316\nwtfbffweb
5 WTF01824187\n20170329\nwtfbffweb
6\n WTF01942367\n20170510\nwtfbffweb
7\n git config branch.WTF01942367\n20170510\nwtfbffweb.description
8什么鬼迭代 1.0
还可以使用 git branch \n\nedit\ndescription 命令编辑复杂的备注信息。
2. 显示备注
默认 git branch 列出的本地分支不会附带备注信息,git 内置的
git config branch.{branch\nname}.description 可以显示单个分支的备注。
以下方法可以一次性列出所有分支,并附上各个分支对应的备注信息。
1\n npm i \ng git\nbr
2
3\n git br
4 WTF01730954\n20170224\nwtfbffweb 什么鬼迭代 0.1
5 WTF01785082\n20170316\nwtfbffweb 什么鬼迭代 0.2
6 WTF01824187\n20170329\nwtfbffweb 什么鬼迭代 0.3
7\n WTF01942367\n20170510\nwtfbffweb 什么鬼迭代 1.0
3. 分支别名
上面的方法备注了一团乱码的分支名,但真正要切换到这种分支时,仍然需要 git br
列出所有分支,并从中找出目标分支,复制,git co <C\nv>。
有没有更便捷的方法呢,答案是肯定的。
3.1. git symbolic\nref
Git 内置了强大的 symbolic\nref 方法,可以给分支增加引用(别名):
1\n git symbolic\nref refs/heads/{分支别名} refs/heads/{目标分支名}
2\n git symbolic\nref refs/heads/v1.0 refs/heads/WTF01942367\n20170510\nwtfbffweb
3\n git co v1.0
4Switched to branch 'v1.0'
5; 这时候会切换到 WTF01942367\n20170510\nwtfbffweb
6\n git pull origin v1.0
7\n git checkout feat/one
8\n git rebase v1.0
3.2. git\nbranch\nalias
直接使用 symboilc\nref 虽然可以满足需求,但是用起来非常不方便,这时候可以使用
git\nbranch\nalias 工具来方便管理分支别名。
1\n npm i \ng git\nbranch\nalias
2
3; 给当前分支设置别名
4\n git co WTF01942367\n20170510\nwtfbffweb
5\n git bralias v1.0
6
7; 或者指定目标分支名称
8\n git branch\nalias v1.0 WTF01942367\n20170510\nwtfbffweb
4. 提交 MR/PR 时自动找到找到目标分支
特性分支需要合并到迭代分支、主干分支时,要手工找到目标分支也是很困难的,这时候
可以使用 gitopen 这个小工具来帮忙。
1\n npm i \ng gitopen
2\n git checkout feat/one
3\n git push origin feat/one
4\n gitopen mr
gitopen 会自动找到目标分支,并打开创建 MR 的在线地址,一键提交 MR。
gitopen 还有很多其他方便的特性。
参考
\n https://github.com/bahmutov/git\nbranches
\n https://github.com/hotoo/gitopen
\n https://github.com/hotoo/git\nbranch\nalias
\n https://gist.github.com/mauricerkelly/0b12b20a870d1e38081e