在之前的文章《如何彻底避免Git代码相互覆盖问题》中,我曾介绍过通过规范分支合并和使用git stash来避免代码覆盖问题。今天,我要深入探讨一下git stash的使用,并分享一些使用过程中遇到的坑,希望能帮你避免类似问题。
脚本mg.sh简介
为了更好地管理代码合并,我编写了一个简单的自用脚本mg.sh。这个脚本可以帮助我在合并分支时处理分支和暂存未提交的修改,避免手动操作的繁琐。
#!/bin/bash
# 检查参数数量是否正确
if [ $# -ne 3 ]; then
echo "Usage: $0 <remote_branch> <merge_branch> <develop_branch>"
exit 1
fi
# 获取参数
REMOTE_BRANCH=$1
MERGE_BRANCH=$2
DEVELOP_BRANCH=$3
# 删除本地临时合并分支
git branch -D $MERGE_BRANCH
# Fetch 远端开发分支到合并分支
git fetch origin $REMOTE_BRANCH:$MERGE_BRANCH
# 切换前对本地分支未提交内容进行暂存
git stash
# 切换到合并分支
git checkout $MERGE_BRANCH
# 合并本地开发分支
git merge $DEVELOP_BRANCH
# 检查是否有冲突
if [ $? -ne 0