gitlab上需要对每个分支都要做相同的删除和修改,一共有80多个分支,手动修改太麻烦,就写一个脚本
使用sed 命令统一删除,sed的使用链接https://www.runoob.com/linux/linux-comm-sed.html
脚本从远程仓库拉代码,change当前目录,fetch远程分支,拉取远程分支并切换,使用find命令在src文件中查找所有的regular文件(find ./src -type f),使用sed做匹配行删除,由于sed的正则匹配删除多行尝试了很多次没有成功,又使用nodejs写了一个脚本做复杂的正则匹配删除。
test.sh
# !/bin/bash
git clone git@gitlab.****my_directory.git
cd my_directory
pwd
git fetch
for branch in `git branch -r `
do
if [ $branch == "origin/HEAD" ]
then
echo "无效分支"
elif [ $branch == "->" ]
then
echo "字符"
else
localbranch="${branch:7}"
echo $branch
git checkout -b $localbranch $branch
echo "===