首页 > 心得分享 > Linux下命令独占操作锁,解决同一个服务器上操作git时可能导致的冲突。

Linux下命令独占操作锁,解决同一个服务器上操作git时可能导致的冲突。

工作需要,推送代码到测试/生产环境时都在统一的服务器上操作。

每次推代码之前都要大吼一声,

防止一个人在合并代码时被其他人切换了分支。

理论上可用于任何命令,原理则是非常简单。

利用同名的命令放在优先级更高的目录去。

先执行脚本命令,通过判断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

20180922-184415.png

然后所有人重启终端后,即可生效。

使用效果如下:

20180922-195148.png

代码见Github:https://github.com/imdong/Linux-Command-Lock

上一篇: JS监听DOM元素变动事件

下一篇: PHP使用GuzzleHttp访问Https时报cURL error 60: SSL certificate problem错误的解决方案

最近回复