git通过fork-merge request实现多人协同

这篇具有很好参考价值的文章主要介绍了git通过fork-merge request实现多人协同。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、问题

对于一个项目,如果需要多人协同开发,大家都在原始仓库中进行修改提交,经常会发生冲突,而且一不小心会把别人的代码内容覆盖掉。为了避免这样的问题,git提供了fork-merge request这样的协同方式。

二、仓库框架模型

git通过fork-merge request实现多人协同,git,git

  1. 首先git仓库分为远端仓库和本地仓库分别对应上图的remote和local。
  2. source repository表示项目的原始仓库内容,一开始只创建了这一个仓库,是大家进行fork的起点,也是用于构建、发布的仓库。
  3. 每个参与者在source repository的基础上fork一个新的远程仓库user repository,其内容与当前source repository相同,但是他是独立出去的新仓库,后续除非手动更新,否则不会随着source repository同步。
  4. 通过git clone user repository命令,将user repository克隆到本地,也就是local repository。此时local repository只与user repository绑定,而与source repository没有任何直接联系。

并且通过git remote -v可以看到只有一个origin仓库,关联user repository的url。

  1. 之后再通过git remote add origin_src source repository,将source repository与local repository绑定,并设置名称为origin_src(这里名称可以随便取,只要与原有的origin重复即可)。

再通过git remote -v可以看到除了origin仓库外,还有有一个origin_src仓库,关联source repository的url。

至此,仓库就搭建好了,可以在本地进行开发,后续进行提交与合并。

三、开发、提交流程

git通过fork-merge request实现多人协同,git,git

3.1 提交与合并

  1. 在local repository开发完成后,通过git add和git commit命令完成本地仓库的提交记录。
  2. 然后通过git push origin master命令将local repository的master分支内容推到user repository中。
  3. 然后再从浏览器进入user repository,发起merge request,请求将user repository的master分支内容合并到source repository的某个分支(如master)中。

而在发起这个请求后,并不会直接合并,而是处于待合并的状态,并且可以指定相关人员对合并内容进行审阅,确保合并代码符合规范,并且不会对其他代码造成影响。

除此之外,如果当前内容与source repository内容存在冲突,则需要解决完冲突后才能合并。(需要再本地拉取source repository代码,解决完冲突后重新提交到user repository中,如果之前的merge request没有关闭,则会将当前提交记录更新到刚刚的merge request中,然后就可以合并了。)

  1. 当审阅人员执行合并后,你的提交记录就会被合并到source repository啦。

3.2 更新代码

前面提到我们本地的代码都是直接推到user repository的,而且这个仓库一般仅仅是你自己拥有,所以一般不需要从这个仓库拉取代码(如果需要则使用git pull origin branch).

通常需要拉取的是source repository的内容,包含了其他人员提交的代码内容,拉取方式为:

git pull origin_src master

表示将origin_src仓库(也就是source repository)的master分支拉取到本地的当前分支下。master可以是任意分支名。

之后可以继续在本地开发,或者直接提交到user repository,用于同步source repository的内容。

三、优点

首先是前面提到的在提交merge request之后,有个待合并的状态,可以供他人审查。并且当出现问题时可以关闭当前请求,这是分支开发合并所不具备的。

其次是fork出来的user repository是完全独立的,完全可以在其上开辟新分支、打标签等操作,而不影响source repository,使得source repository更加干净。文章来源地址https://www.toymoban.com/news/detail-673733.html

到了这里,关于git通过fork-merge request实现多人协同的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Yjs + Quill 实现文档多人协同编辑器开发(基础+实战)

            感谢大家对文章的关注哈,大家提出的无法在不同浏览器协同的问题,经过两天多的学习研究,终于是解决了。目前版本已经正常提到 git 上了, 运行脚本:npm run startServer,是通过WebRTC 的形式实现协同(该方案仅支持内网系统,因为webRTC在外网使用需要stun 服务支

    2024年02月10日
    浏览(56)
  • 极狐 GitLab 冷知识:使用 git push 创建 Merge Request

    在使用 GitLab 时,创建 Merge Request 是最常用的功能之一,每天有大量的 Merge Request 被 Create、Review、Approve 和 Merge,尽管 GitLab 的产品经理和 UX 设计师们已经尽力的将 UI 设计的简洁易懂好操作,并提供了一些诸如使用 Email、API、Web IDE、VS Code 插件等创建 Merge Request 的功能,但这

    2024年01月15日
    浏览(40)
  • gitLab git merge request 请求合并注意事项及步骤

       在项目的分支下选择Merge request  进入合并分支的选项操作 注意选择需要合并到的分支版本 选择处理人 就可以提交分支  1 GitLab合并请求时出现 Validate branchesCannot Create: This merge request already existed 报错原因该分支上一个合并请求还存在 应该先close掉该分支的上一个合并请

    2024年02月16日
    浏览(54)
  • git 请求合并代码报错(The form contains the following error: Validate branches Another open merge request al)

    自己的远程仓库,已经有最新的代码了,但是提pr,就是提不了 在本地,删除远程分支,然后重新提交代码就行了

    2024年02月03日
    浏览(64)
  • 云数据库MySQL多人协同开发实践

    本文分享自天翼云开发者社区《云数据库MySQL多人协同开发实践》,作者:不知不觉 随着云计算技术的快速发展,云数据库作为云计算的重要组成部分,为企业提供了高效、灵活和可靠的数据存储和管理服务。其中,MySQL作为一款流行的开源关系型数据库,在云数据库领域具

    2024年02月04日
    浏览(53)
  • Allegro172版本多人协同在线设计操作指导

    Allegro172版本多人协同在线设计操作指导 Allegro升级到172版本,可以支持多人协同设计,并且实时同步,具体操作如下 首先用户需要在同一个局域网下,并且Allegro172的版本必须一致,比如都是S082的版本 第一个用户打开PCB,选择Symphony Team design 选择 Start Symphony server 等待一会出

    2024年02月09日
    浏览(62)
  • springboot项目引入onlyoffice多人协同编辑文档

    采用docker安装很方便,例如我服务器ip为    172.12.2.333 安装后访问   http://172.12.2.333:8888 访问成功即可 参考Spring-Boot-onlyOffice: springboot集成onlyOffice的实现。在参考网络上的资料结合自身实际情况总结,让集成oo方便快捷。 封装了oo服务的API和统一了配置。  1.上面下载下来后,

    2024年01月20日
    浏览(49)
  • VR多人协同(Photon Server & Pun2 & VRIF)

    内容介绍: 采用Photon Server作为本地服务器,然后使用Pun2连接本地服务进行VR多人交互 Photon Server部署 1、下载并解压: photon-server-sdk_v5-0-12-24499-rc1.zip 2、授权(因官方授权问题可以转用V4.0Server:VR多人协同(多人游戏本地服务器)(Photon Server V4.0)) 获取地址: 点击领取你的

    2024年02月16日
    浏览(42)
  • onlyoffice协同编辑(多人共享编辑)、在线文档编辑,支持word、excel

    贴一个官方的文档 onlyoffice API onlyoffice 故障排除 首先给一个盒子 然后初始化代码, 这里只写了常用的配置,完整的配置可以看文档 后端的部署,可以借鉴这位大哥的 如何在 Windows 上 使用 ONLYOFFICE 协作编辑文档

    2024年02月12日
    浏览(62)
  • Unity进阶–通过PhotonServer实现人物选择和多人同步–PhotonServer(四)

    服务端结构如下: UserModel Messaage PSPeer UserBLL BLLManager UserDAL DALManager 客户端页面 绑在panel上 后台持续运行 建一个usermanager,绑定以下脚本 给物体上绑定 别忘了按钮绑定

    2024年02月12日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包