《Git:从入门到精通(七)——Git分支管理与协作开发实战》
案例实现:

1.创建新的分支


2.


-
git pull操作- 执行
git pull后,Git 从远程仓库gitee.com:deng-youkang/remote-gitcode拉取代码,发现远程新增了dev分支,于是在本地记录为origin/dev(origin是远程仓库的默认别名)。 - “
Already up to date” 表示本地当前分支(master)与远程对应分支(origin/master)代码一致,无需更新。
- 执行
-
git branch -a查看所有分支* master:当前处于本地master分支。remotes/origin/HEAD -> origin/master:远程仓库的默认分支是origin/master。remotes/origin/dev、remotes/origin/master:远程仓库存在dev和master两个分支,本地通过origin/前缀跟踪它们。
这张图直观展示了开发者与远程仓库的分支关联:
- 远程仓库有两个分支:
master(主分支)和dev(开发分支)。 - 开发者 1 执行
git pull后,本地同步了远程的origin/master(对应远程master)和origin/dev(对应远程dev),同时本地当前在master分支工作。
3.在d盘的git文件夹下执行终端 “模拟开发者2”



4.基于远程的 origin/dev 分支,在本地创建并切换到新的 dev 分支,同时建立本地分支与远程分支的追踪关系

git checkout -b dev:创建一个名为dev的本地分支,并切换到该分支。origin/dev:指定基于远程仓库(origin是远程仓库的默认别名)的dev分支来创建本地dev分支。- 输出中 “
Switched to a new branch 'dev'” 表示成功切换到新建的本地dev分支;“Branch 'dev' set up to track remote branch 'dev' from 'origin'” 表示本地dev分支已设置为跟踪远程origin的dev分支,后续可通过git pull、git push直接与远程dev分支同步。

这个命令清晰展示了本地各分支与远程分支的追踪关系、最新提交的标识和说明。

在 Git 中,git push origin master 可以简化是因为 Git 支持 “默认行为” 和 “追踪关系” 的自动推导,具体原因如下:
1. 利用分支的 “追踪关系”
当本地分支(如 master)与远程分支(如 origin/master)建立了追踪关系(可通过 git branch -vv 查看),Git 会自动识别对应的远程仓库和分支。此时只需执行 git push,Git 会默认推送当前分支到与之追踪的远程分支(即等价于 git push origin 本地分支名:远程分支名)。
2. 简化命令的条件
要实现 git push 的简化,需满足以下条件之一:
- 本地分支与远程分支已建立追踪关系(如通过
git checkout -b 本地分支 origin/远程分支创建的分支,默认已建立追踪)。 - 配置了 Git 的默认推送行为(如
git config --global push.default simple,这是 Git 2.0+ 的默认配置),此时git push会自动推送当前分支到其追踪的远程分支。
5.用户1修新增“aaa”



示例对比
- 完整命令:
git push origin master - 简化命令:
git push(当master与origin/master有追踪关系时,效果完全一致)
这种简化是 Git 为提升开发效率设计的 “约定大于配置” 机制,在分支追踪关系明确的情况下,可大幅减少命令输入的复杂度。
6.用户2修新增“bbb”

此时会报错,因为用户1用户2都修改了同一个文件的内容,只需pull拉到用户b处进行冲突处理即可


一、多人协作开发的准备工作
1. 搭建远程仓库
- 在代码托管平台(如 Gitee、GitHub)创建共享的远程仓库,设置好仓库权限(团队成员需有读写权限)。
- 团队成员通过
git clone 仓库地址将远程仓库克隆到本地。
2. 配置个人信息
每个成员在本地配置 Git 用户名和邮箱(用于提交记录的身份标识):

3. 分支管理规划
- 约定主分支为
master(或main),仅用于存放稳定版本。 - 每个成员基于
master创建个人开发分支(如dev-用户名),在自己的分支上开发功能,避免直接修改主分支。
二、协作开发流程
1. 拉取最新代码
开发前先拉取远程仓库的最新代码,确保本地代码是最新的:
![]()
2. 基于主分支创建个人开发分支
![]()
3. 开发与提交
在个人分支上编写代码,完成后暂存、提交:

4. 推送个人分支到远程
将个人开发分支推送到远程仓库,方便团队协作和代码审查:
![]()
三、将内容合并进 master 主分支
1. 发起 Pull Request(PR)
- 团队成员在代码托管平台(如 Gitee)上,基于自己的远程开发分支向
master分支发起 Pull Request(请求合并)。 - 团队其他成员对 PR 进行代码审查,确认无误后批准合并。
2. 本地合并流程(若无需平台审查,可直接本地操作)
- 切换到
master分支:
![]()
- 拉取远程
master最新代码(确保主分支是最新的):

- 合并个人开发分支到
master:
![]()
建议按照下图方式进行合并

解决合并冲突(若有):
- Git 会标记冲突文件,打开冲突文件手动解决冲突(保留需要的代码,删除冲突标记
<<<<<<<、=======、>>>>>>>)。 - 解决后暂存冲突文件,完成合并提交:

- 推送合并后的
master到远程:

总结一下,在同一分支下进行多人协作的工作模式通常是这样:
- - 首先,可以试图用 git push origin branch-name 推送自己的修改;
- - 如果推送失败,则因为远程分支比你的本地更新,需要先用 git pull 试图合并;
- - 如果合并有冲突,则解决冲突,并在本地提交;
- - 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
- - 功能开发完毕,将分支 merge 进 master,最后删除分支。
