详细分析 Git 分支重命名与同步操作
目录
- 前言
- 1. 场景
- 2. 扩展知识
前言
以下小知识点作为讲解介绍,文章较短,作为科普使用
🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF
1. 场景
示例场景:决定将默认分支从 main 改为 master,开发者需要同步本地环境与远程一致
按以下步骤操作:
-
重命名本地分支:
git branch -m main master
,将本地的 main 分支改名为 master -
同步远程分支信息:
git fetch origin
-
将本地 master 分支绑定到远程的 master:
git branch -u origin/master master
-
更新远程仓库的默认分支信息:
git remote set-head origin -a
总体如git上的提示一样:
更多详细的解释如下:
-
分支重命名:
git branch -m main master
将本地的分支名称从 main 重命名为 master
-m 是 move 的简写,表示重命名分支
作用:适用于需要更改分支命名规范的场景,例如仓库的默认分支从 main 改为 master -
获取远程分支的最新信息:
git fetch origin
该命令从远程仓库拉取分支信息,但不会自动合并
作用:确保本地分支可以获取到远程分支的最新状态。 -
设置本地分支与远程分支的关联:
git branch -u origin/master master
这条命令将本地的 master 分支与远程的 origin/master 分支绑定
-u 是 --set-upstream-to 的简写,用于定义本地分支的上游分支
作用:确保本地 master 分支可以追踪远程的 master 分支,便于后续的 git pull 和 git push 操作。 -
设置远程仓库的默认分支:
git remote set-head origin -a
该命令用来更新远程仓库的默认分支的本地信息
-a 是 --auto 的缩写,表示自动检测远程仓库的默认分支并同步到本地
作用:更新本地默认分支的映射,避免因远程分支更改而导致的操作失误
2. 扩展知识
- 本地分支与远程分支的状态关系
Git 中本地分支分为两种:
跟踪分支(Tracking Branch):与远程分支绑定的本地分支
普通分支:未绑定远程分支的本地分支,需要手动指定远程分支
绑定关系如下图所示:
本地分支 master ──── 上游分支 origin/master ──── 远程仓库的 master 分支
-
使用
git push --set-upstream
如果未绑定上游分支,可以在首次推送代码时使用以下命令:git push --set-upstream origin master
上述这个命令还可用在此场景下:重命名分支后推送失败,推送代码时提示远程不存在对应的分支
使用以下命令创建远程分支并绑定:git push --set-upstream origin master
-
远程默认分支未更新
运行git remote set-head origin -a
后,本地未识别远程的默认分支
手动查看远程分支并设置:git remote set-head origin master