当前位置: 首页 > backend >正文

Git企业级开发(多人协作)

Git的多人协作开发

这里我们在远端的master分支中新增"aaa","bbb"两个分别不同的单词,但是开发者1新增aaa,开发者2新增bbb。

在这里我们会创建dev分支来协作开发,通过在Linux系统和Windows系统上面分开来进行开发来模拟多人协作场景。这里的分支我们可以在本地或者在仓库中进行创建,这里我选择在远程进行创建。

创建dev分支

点击分支后,在新的页面进行分支的创建。 创建后此时远程仓库就会有两个分支,通过git   branch查看当前本地仓库的分支。git branch -r是远程仓库的分支。

使用git pull将远程的dev分支拉取下来,也就是将在gitee中创建的分支拉取下来。不管是push还是pull都是针对分支操作的,。但是比如git pull的时候没有指定分支,就必须要建立连接,否则无法生效。

建立本地的dev分支和远程连接

 通过 git checkout -b dev origin/dev创建分支并且和远程仓库中的dev分支进行连接。

通过git branch -vv就能查看到建立起连接。

此时就已经将本地的dev分支推送到远程的dev分支下面了。 当然了远程仓库并没有进行合并,合并后的master分支才能使用。

如果当前分支没有和远程建立连接的时候,就要主动进行分支的建立,否则无法进行拉取和推送。

该命令就是建立连接的语句。

分支冲突

在同一个位置输入了不同的数据,比如在某一行同时输入了aaa和bbb,这时候就会出现冲突,但是这时候就需要git pull先拉取下来在本地进行操作。

接着针对本地仓库的内容进行操作,把我们所需要的保存下来再提交push就可以了。

这里我们已经解决了本地仓库的合并问题,但是远程仓库的合并还没解决。

dev与master进行合并(同一分支多人协作)

PR操作(申请单push操作1推荐)

新疆一个PR单子,会自动跳出申请单,我们将他创建好之后,点击下边的创建pull request就可以了,到时候会提交给管理员审查。

本地合并

在本地上进行合并,然后推送到远程仓库,但是实际上不推荐,上面的pr实际上需要经过别人审核的,更加安全,但是在本地master进行提交是不需要审查的,可能出现问题更大。

在这里有个小提示,我们可以先把dev去merge我们的master,而不是master去merge我们的dev,这样可以避免一些问题,有冲突可以在本地dev解决。解决后切换到master再去merge dev,但是要保证master最新(在master之前进行pull操作)。

首先需要切换到master进行pull操作,保证代码是最新的,让dev与master进行合并。

然后再进行merge 我们的dev分支,这样比较安全,虽然说切换很多次分支,但是实际上为了安全也是不得已的行为。这时候再提交master任务就结束了。

总结:

  • 首先,可以试图用 git push origin branch-name 推送自己的修改;
  • 如果推送失败,则因为远程分支比你的本地更新,需要先用 git pull 试图合并;
  • 如果合并有冲突,则解决冲突,并在本地提交;
  • 没有冲突或者解决掉冲突后,再用 git push origin branch-name 推送就能成功!
  • 功能开发完毕,将分支 merge 进 master,最后删除分支。

帮助他人开发

假如要帮助别人进行开发的时候,我们就要切换到别人的分支进行开发,这时候就要用git pull进行拉取操作。将远程仓库拉取下来。

gitpull操作内容:

  1. 拉取远程仓库内容。
  2. 拉取对应的分支内容。

这时候就切换到别人的远程仓库,并且进行连接的情况了。

他人开发完成之后,此时本人如果回到开发时,要进行一次拉取操作,保证代码是最新的。

此时就要指定分支名字和实际的名字了。

 此时就再次能进行开发了。

查看git本地和远程连接命令

git branch -vv

dev与master进行合并(不同分支多人协作)

我们在不同分支下面协作完成不同的文件,让某个功能私有一个分支进行开发。如果远程仓库没有连接就可以使用如下命令直接在远程仓库建立连接。

git push origin feature-1

此时在远程就可以看到多了一个function1的文件。相同的操作,就可以看到feature两个分支都创建了两个分支,分别创建了不同的文件。

在这个操作没有发生任何冲突,因为是在不同的分支中进行的。

在经过测试人员和审查人员的同意之后就可以进行合并操作了,但是还是要再提醒一下,必须要先合并master分支到dev分支,再合并到master分支,很重要。

解决远程分支删除后本地依然看见

git remote prune origin

此时就能将已经不用的远程分支删除。

删除本地分支的方法:

git branch -d [本地分支的名字]
http://www.xdnf.cn/news/15279.html

相关文章:

  • 【设计模式】装饰(器)模式 透明装饰模式与半透明装饰模式
  • Java生产带文字、带边框的二维码
  • Flink创建执行环境的三种方式,也是Flink搭建程序的第一步
  • React 组件中怎么做事件代理?它的原理是什么?
  • MyBatis实现分页查询-苍穹外卖笔记
  • openGauss数据库管理实战指南——基本常用操作总结
  • Sentry 集成
  • 【王树森推荐系统】行为序列02:DIN模型(注意力机制)
  • 【LeetCode453.最小操作次数使数组元素相等】
  • 深入解析C#接口实现的两种核心技术:派生继承 vs 显式实现
  • 论文阅读:HybridTrack: A Hybrid Approach for Robust Multi-Object Tracking
  • 前端开发中的资源缓存详解
  • 面试现场:奇哥扮猪吃老虎,RocketMQ高级原理吊打面试官
  • Spring Ai Alibaba Gateway 实现存量应用转 MCP 工具
  • AI领域的黄埔军校:OpenAI是新一代的PayPal Mafia,门生故吏遍天下
  • 浅谈 Python 中的 yield——生成器对象与函数调用的区别
  • 力扣 hot100 Day42
  • 若依前后端分离Vue3版本接入阿里云OSS
  • 20250712-1-Kubernetes 监控与日志管理-K8s日志管理与维护_笔记
  • Softmax回归(多类逻辑回归)原理及完整代码示例实现
  • 一个基于数据库的分布式锁:乐观与悲观实现
  • 贪心算法题解——跳跃游戏【LeetCode】
  • Windows 用户账户控制(UAC)绕过漏洞
  • python学习笔记【1】对字符串的处理
  • 《Java Web程序设计》实验报告六 JSP+JDBC+MySQL实现登录注册
  • [vroom] 启发式算法(路径评估) | 局部搜索优化引擎 | 解决方案输出解析
  • 自助KTV选址指南与优化策略
  • 系统分析师-计算机系统-输入输出系统
  • 十三、K8s自定义资源Operator
  • 仅27M参数!SamOutVX轻量级语言模型刷新认知,小身材也有大智慧