# 更改git分支名称

项目中,可能会有更改分支名称的场景,基本命令是修改本地分支然后推送

# 步骤

# 重命名旧分支 新分支
git branch -m old_branch new_branch
1
2
# 删除远程旧分支
git push --delete origin old_branch
1
2
# 推送新分支
git push origin new_branch
1
2
# 本地分支关联远程新分支
git branch --set-upstream-to origin/new_branch
1
2

# 自动化命令

创建一个bash文件,把以上步骤添加进来

# 修改分支名称
# 确保脚本抛出遇到的错误
set -e
# 重命名旧分支 新分支
git branch -m old_branch new_branch
# 删除远程旧分支
git push --delete origin old_branch
# 推送新分支
git push origin new_branch
# 本地分支关联远程新分支
git branch --set-upstream-to origin/new_branch

cd -
1
2
3
4
5
6
7
8
9
10
11
12
13

如果项目中有package等项目包管理文件,可以加一个npm指令

{
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service builds",
    "rename": "bash rename.sh"
  }
}
1
2
3
4
5
6
7

也可以直接运行bash rename.sh

# 优化

不在脚本硬编码,根据输入,动态重命名。read命令用于从输入读取值,不详细展开Linux命令,具体参考 Linux read命令 (opens new window)

# 修改分支名称
read -p "输入旧分支名称/新分支名称(空格分隔):" oldB newB
# 确保脚本抛出遇到的错误
set -e
# 重命名旧分支 新分支
git branch -m $oldB $newB
# 删除远程旧分支
git push --delete origin $oldB
# 推送新分支
git push origin $newB
# 本地分支关联远程新分支
git branch --set-upstream-to origin/$newB

cd -
1
2
3
4
5
6
7
8
9
10
11
12
13
14

提交信息