文章目录
1. 本地库与远程库的交互方式回顾
在工作中使用Git,通常会涉及到团队间的合作,分为一下两种
-
团队内部协作
使用同一个远程库进行操作
-
跨团队合作
使用多个远程库,使用fork操作,合并保证多个库之间的同步和合并
2. 团队间合作
2.1 流程图
- 有一个项目经理和多个开发者(本文使用两个git账号来模拟)
- 使用一个远程库(本文使用Gitee介绍)
- 新建两个文件夹,模拟两个用户的工作空间(hlh1,hlh2)
2.2 项目经理创建本地库,初始化,提交
项目经理(hlh1),在本地初始化本地库,放入file1.txt文件,提交,
2.2.1 项目经理新建远程库,邀请成员
新建远程库(git-project-test)
邀请成员
2.2.2 初始化本地库,创建文件,添加本地库
git init
vim file1.txt
aaaa
git add file1.txt
git commit file1.txt -m "初始化仓库,添加file1.txt文件"
git reflog
2.2.3 关联远程库,推送修改
git remote -v
git remote add origin https://gitee.com/he_linhai/git-project-test.git
git remote -v
git push origin master
2.3 开发人员拉取,修改,提交
项目经理新建项目之后,开发人员(hlh2)进行开发,提交最新代码
2.3.1 同意成员邀请
2.3.2 拉取项目
拉取项目
git clone https://gitee.com/he_linhai/git-project-test.git hlh2
2.3.3 添加文件,推送
添加file2.txt,推送
vim file2.txt
bbbb
git add file2.txt
git commit file2.txt -m "添加file2.txt"
git push origin master
2.4 项目经理拉取项目,查验进度
项目经理重新拉取项目,查看
3. 跨团队合作
3.1. 流程图
- 两个团队用两个远程库,远程库之间使用fork
- 如果需要合并,提交合并请求(pull Requests)
- 这因为git账号数量限制,项目经理和本团队开发者使用同一个用户(hlh1)模拟。团队二的开发者使用用户(hlh2)模拟
3.2. 团队一的项目经理创建远程库
团队一的项目经理创建远程库,本团队开发者进行开发
此操作和上述团队间合作步骤相同,此处不在赘述。参照上述步骤
使用上面的这个远程库操作
3.3. 团队一项目经理进行fork操作
创建一个群组,对当前仓库进行一个fork操作,fork一个团队二用的仓库
在当前群组下就会有一个同名的仓库,并且有fork标记
邀请组织内成员
3.4. 团队二的成员添加file3.txt
团队二的开发人员进行代码修改,提交
git clone https://gitee.com/git-hlh-group1/git-project-test.git hlh2
cd hlh2/
git log --oneline
vim file3.txt
git add file3.txt
git commit file3.txt -m "添加了file3.txt"
git log --oneline
推送远程仓库
3.5 合并项目到初始项目
团队二的成员开发完毕之后,如果需要合并项目,提交一个pull requests请求
- 点击pull Requests
- 发送pull request请求
3.6 团队一的负责人进行审核,合并
- 查看请求列表
- 查看详细详情
- 审核、测试
- 合并
- 已合并