场景:我们在做一个项目的时候,如果有很多的项目,在不同的时间段,在不同的git分支上进行开发、测试、生产使用,那么时时候,我们会在相应的分支上做完一个阶段的事情,就需要合并。

如果只是通过工具进行合并,几次还行,如果是大批的情况下,我们就会感觉比较繁琐。所以有必要使用sh脚本进行,将需要执行的脚本,都写在一个.sh文件上,每次合并的时候,直接执行。

直接在linux上,可以直接执行,如果在win上,那么可以通过git bash工具执行。

git代码下载,分支合并_bash

 

 

 

1、本地创建一个目录
mkdir project

2、进入目录
cd project

3、克隆项目到本地弹出窗口,此处需要输入远程git仓库的账号密码。
git clone https://gitee.com/a393060727/xxx.git

4、已经下载到项目,进入项目
cd cc-system

5、查看所有分支
git branch -a


6、切换分支
git checkout develop

7、合并其他分支到本分支,这里将master合并到develop,如果合并有异常冲突,那么可以通过ide进行修改后,继续。
git merge master

8、将代码提交(推送)到远程仓库
git push

9、至此完成代码合并。
可以到到服务器上查文件合并情况。

 

git代码下载,分支合并_git_02

 

最终创建sheel脚本

meger-dev-sit.sh

内容如下

#!/bin/bash
project_name="chen-xxxx"
git_url="http://47.112.161.199/cc-server/"${project_name}".git"
branch_from="dev"
branch_to="sit"

if [ ! -d ${project_name} ];then
echo "项目"${project_name}"不存在,克隆:"${git_url}
git clone ${git_url}
else
echo "项目"${project_name}"已存在"
fi

cd ${project_name}
git pull

echo "显示所有分支:"
git branch -a

echo "切换分支:"
git checkout ${branch_to}

echo "合并分支:"
git merge ${branch_from}

echo "提交推送到"${branch_to}
git push

# echo "删除本地目录"${project_name}
# cd ..
# rm -rf ${project_name}

echo "完成"

 执行sh脚本

sh meger-dev-sit.sh