工作需要,推送代码到测试/生产环境时都在统一的服务器上操作。
每次推代码之前都要大吼一声,
防止一个人在合并代码时被其他人切换了分支。
理论上可用于任何命令,原理则是非常简单。
利用同名的命令放在优先级更高的目录去。
先执行脚本命令,通过判断bash的进程ID来区分不同的操作终端。
检测通过后则允许继续操作。
具体安装方法:
先建立一个统一管理脚本的目录(/usr/local/lock_bin)
然后将目录加入到 $PATH 中最前面,以优先搜索到我们的壳子命令。
mkdir /usr/local/lock_bin
echo "export PATH=/usr/local/lock_bin:${PATH}" >> /ect/profile
cp command_lock.sh /usr/local/lock_bin/git
sudo chmod +x /usr/local/lock_bin/git
source /ect/profile
然后所有人重启终端后,即可生效。