orphanor 孤子分支构建器

沥川 bio photo By 沥川

背景

#10 引发批量手工嗯哼 orphan 分支时:

「 Zooꪔ.ོQuiꫀt Ӫ: 「 其林: 正在迅速建孤子分支中,其他权限都配好了 」
- - - - - - - - - - - - - - -
「 沥川: 有没有批量生成孤子分支的方法啊啊啊... 」
- - - - - - - - - - - - - - -
是也乎,( ̄▽ ̄)
必须有的...
一个自动化脚本就可以的... 」
- - - - - - - - - - - - - - -

目标

跟随蠎营运营, 及时发现问题, 厘定边界:

  • 快速寻找即有工具
  • 或开发支援工具:

追踪

orphanor

自动化孤子分支创建器

设想:

  • CLI 交互
  • 在 master 分支
    • 输入 分支名
    • 自动化完成分支创建/初始化
    • 回到 master
    • br -a 汇报

Usage

# 进入 py(为例, 也可为其他)仓库中 master 分支
$ cd <file folder>
$ git clone git@gitlab.com:101camp/py.git
$ cd py

$ /bin/sh path{orphanor.sh} orphan_name # 参数一为 orphanor.sh 路径, 参数二为 孤子分支 名称

Todo

  • 接收一个文本文件, 自动批量完成多个 学员 orphan 分支的建立
  • 建立好后, 对应的可以生成每个学员提醒邮件的正文呢?
  • 远程调用/slack 命令激活 …

尝试

学习 shell 命令基本操作

  • 写第一个 shell 脚本

打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh

#!/bin/bash
echo "Hello World !"
  • 执行 shell 脚本

方法一: 作为可执行程序

将上面的代码保存为 test.sh,并 cd 到相应目录:

chmod +x ./test.sh  #使脚本具有执行权限
./test.sh  #执行脚本

方法二: 作为解释器参数

/bin/sh test.sh

由于方式二比较简单, 故选择

  • 传递参数

我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……

ex.

#!/bin/bash

echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";

结果如下:

$ chmod +x test.sh 
$ ./test.sh 1 2 3
Shell 传递参数实例!
执行的文件名:./test.sh
第一个参数为:1
第二个参数为:2
第三个参数为:3

完成孤子分支创建/初始化

利用上面知识即可完成任务

# orphanor
#!/bin/bash

git checkout --orphan $1
git rm -rf .
echo "#Title of Readme" > README.md
git add README.md
git commit -a -m "Initial Commit"
git push --set-upstream origin $1
git checkout master
git branch -a

自动创建孤子分支

$ cd <file folder>
$ git clone git@gitlab.com:101camp/py.git
$ cd py
$ /bin/sh path(orphanor.sh) orphan_name

参考

Chnagelog

  • 2018-12-26 Lichuan init.