合并 master 分支代码的快捷脚本

此脚本适合在 MacOS 下工作

# 获取当前分支的名称,在控制台输出,方便知道当前是为哪个分支合并代码
current_branch=`git rev-parse --abbrev-ref HEAD`
echo "当前分支为:$current_branch"
# 将当前工作区的内容暂存起来
stash_result=`git stash save "tempstash$$"`
# 拉取 master 分支的代码
git pull origin master 
#获取上一步操作的返回状态码
RET_CODE=$?
# 如果状态码不为 0 说明拉取 master 分支失败,放弃合并 master 分支,并退出。
if [ $RET_CODE -ne 0 ]; then 
echo " 拉取 master 分支失败  $RET_CODE"
exit $RET_CODE
fi
# 合并 master 分支代码到当前分支
git merge --no-edit master
# 将本地代码推送到远程分支
git push
# 判断是否有暂存的代码
if [ "$stash_result" != "No local changes to save" ]; then
# 恢复暂存的代码
git stash pop stash@{0}
fi
# 正常退出
exit 0

配置

  1. 将上面的 shell 脚本保存到 merge_master.sh 文件中
  2. 在用户根目录的 .zshrc 文件中配置此脚本的使用别名。
# Automatic merging master branch to current branch
alias amm='zsh ~/xxx/xxx/merge_master.sh'
  1. 在终端执行 source ~/.zshrcamm 命令生效

使用

  1. 在终端中 cd 到 git 项目的根目录
  2. 在终端中输入命令 amm。就会自动合并 master 分支的代码到当前的分支

可以在脚本的顶部添加「切换到项目路径」的指令。而省略在终端中 cd 到项目根目录的步骤

cd /xxx/xxx/xxx/project/root/dir/

但是这样操作之后,amm 命令只针对这一个 git 仓库生效了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。