Git多人协作开发

本文详细介绍了Git中创建、管理分支,解决本地与远程分支同步,多人协作处理冲突,以及使用GitFlow模型的最佳实践,包括DevOps平台的项目管理和分支策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、创建分支(在码云上)

(1)在本地查看我们本地指向远程的分支:git branch -r

(2)我们在码云上新建了个dev分支,我们将dev分支拉取到本地:git pull

(3)展示我们的本地分支和远程分支:git branch -a

(4)不能直接对远程我们新建的dev分支进行修改:我们应该在本地新建一个dev并指向远程的dev分支:git checkout -b dev origin/dev

(5)查看我们本地分支跟远程分支建立的联系:git branch -vv

(6)将本地分支和远程分支建立连接:git branch --set-upstream-to=origin/dev dev(第二个dev是本地,第一个是远程)

(7)当我们的开发者一和开发者二都对分支进行更改提交之后会有冲突:

(7.1)先拉下远程仓库分支:git pull

(7.2)打开我们拉下来的文档进行更改

(7.3)然后对我们更改在推送至远程

2、将我们更改后的dev分支合并到我们的主分支上

(1)PR(提交申请单):

(1.1)合并2分支为了避免冲突,首先将2分支合并master,冲突在2分支上解决掉不能影响master分支

(1.2)合并分支时候我们的2分支直接进行和master合并就行(用码云上合并分支申请)

(1.3)合并1分支为了避免冲突,首先将1分支合并master,冲突在1分支上解决掉不能影响master分支

(1.4)然后进行和master合并即可

(1.5)在本地进行合并的时候要首先确保master是不是最新的,不是最新的我们要进行pull一下

(1.6)合并完之后ctrl + X退出即可

(1.7)进行add..push操作 

(1.8)如果没有进行本地分支对远程分支的指向(不能push)我们就要用:git push origin feature-1 这个操作来提交到远程仓库(然后到远程仓库进行提交表单操作)

(2)主要针对本地操作(多人协作单分支场景):

(2.1)git pull(拉下远程仓库的master)

(2.2)dev merge master(有冲突在dev上解决)

(2.3)master merge dev

(2.4)push master

(2.5)操作完成就可以在码云上删除我们创建的dev分支了

(3)多人协作开发(不同分支):

(3.1)远程创建分支(推荐)因为分支内容最新

(3.2)本地创建分支:

(3.2.1)创建本地分支(git checkout -b 分支名字)

(3.2.2)因为我们创建的分支没有对应的远程分支指向,所以我们不能直接进行push操作,我们可以git push origin 分支名,在远程创建一个分支(内容也随之带了上来),也可以用上个博客的两个代码来修改分支指向

4、多人协作(当我们的开发伙伴开发到一半需要我们继续他的开发):

(1)git pull:将我们的远程仓库内伙伴的分支拉到我们本地上来

(2)git checkout -b 本地新建分支名 origin/远程仓库分支名(建立并绑定连接)

(3)写完之后 add commit push

(4)当我们的伙伴回来后他需要

(4.1)需要先利用上一个博客的方法建立连接

(4.2)git pull操作将我们更改后的内容拉到他的本地上去

(4.3)写完之后进行add等操作

(4.4)在我们的码云上进行审核

5、当我们在远程仓库删除之我们在本地仓库获取分支之后依旧可以看到我们远程仓库已经删除的分支:(查看本地分支状态:git branch -a)

(1)查看远程分支状态:git remote show origin(分支显示stale就表明显示陈旧状态可以删除)

(2)删除陈旧(已删除)分支:git remote prune origin

6、Git Flow模型(不适用于所有)

分支名称使用环境
master主分支生产环境
release预发布分支预发布/测试环境
develop开发分支开发环境
feature需求开发分支本地
hotfix紧急修复分支本地

(1)master:主分支,一般由合并release分支得到,不允许直接在master分支上写,分支不可删除,用于对外发布

(2)release:基于本次线上所有的feature分支合并到develop分支之后,基于develop分支创建,可部署到预发布集群,属于临时分支,产品上线后可删除(版本加日期 release/1.0_日期)

(3)develop:基于master创建的只读且唯一分支,始终保持最新完成以及bug修复后的代码,可部署到开发环境对应的集群,一般由feature分支合并

(4)feature:新功能开发分支,以develop分支为基础创建,命名以feature/开头,开发完成后合并到develop分支上,合并后将该分支删除(名字_日期_pay)

(5)hotfix:需要基于master分支创建该分支,需要合并master分支和develop分支并推送至远程,一旦修复上线将其删除

7、企业级项目管理

(1)DevOps研发平台

(2)创建项目(敏捷项目)

(3)点击代码->新建仓库

(4)我选择的是  生产/开发模型(支持master/develop类型分支)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值