JetBrains IDE 使用git进行多人合作开发教程

以下DEMO可以用于多人共同开发维护一个项目时,使用Git+远程仓库的实践方案

分支管理

  • dev:开发分支
  • test:测试分支
  • prod:生成分支

个人开发也最起码有一个master+dev,作为主分支和当前开发分支。master永远是稳定版本,dev用于写代码测试都行。确保dev没问题再合并到master


Git工作流

  • 开发人员在个人新建的特性分支上工作,完成后将特性分支合并到 dev 分支。
  • 定期将 dev 分支的代码合并到 test 分支进行测试。
  • 测试通过后,将 test 分支的代码合并到 prod 分支,并部署到生产环境。



  • 先拉取远程最新分支到本地



  • Local处New Branch from ‘main’… 从main主分支创建新分支
    [图片]

  • 勾选Checkout branch,创建后默认会切换到创建的新test分支
    [图片]

  • 输入本地分支名称后可以在Local看到刚创建的分支(本地的项目分支)
    [图片]

  • 点击左侧提交,可以查看更改文件,双击查看对比
    [图片]

  • 勾选需要提交的文件,输入本次版本提交名称,点击提交并推送
    [图片]

  • 弹窗后,点击推送
    [图片]

  • 登陆仓库平台的提交账号
    [图片]

  • 登陆后,去仓库查看提交记录
    [图片]

  • PS:Logo解释
    [图片]


代码更新

  • 点击Update更新远程最新分支到本地的个人的test项目分支上
    [图片]

实战演示

  • 模拟远程分支更新了最新状态,进入仓库首页,点击新建文件
    [图片]

  • 在根目录下新建 B.go,随便写入一些东西。最后点击保存到主分支中
    [图片]

  • 查看远程与本地的变化
    [图片]

假设此时这个B.go是程序员已经写完一个功能,进行提交。他将远程分支新增了一个版本。而你也就落后了一个版本。因此很明显你本地和远程的代码就不一样。

你本地有A.go,而远程没有
远程有B.go,你本地没有

  • 将代码添加暂存区并提交推送
    [图片]
    [图片]

  • 提示:当前推送被远程拒绝,在推送前需要合并远程最新的更改
    [图片]

点击Merge进行合并即可,正常来说,你新增了一个文件B,远程别人新增了一个文件C并且已经更改到最新的分支。此时你已经落后别人一个版本。而你们对于其他任何文件都没有动的话,是没有事儿的。就直接取并集合并了。

  • 提示合并提交成功
    [图片]

  • 上一步骤说的取并集是什么意思呢?
    [图片]

可以看到这张图,你本地的A提交到了仓库的最新分支
同时,你落后的那个版本,别人提交的B也到了你的本地仓库

PS:其实这里做了几个事儿,首先会比对你的上一个基础分支与远程的区别。然后拉取远程的最新分支,将你的本地分支更新到最新状态。如果此时有代码冲突IDE会提示你需要保留本地还是远程。

如果你写你的代码,不动别人的代码,正常来说是没有冲突的。(前期是你两不会同时写一个文件,同时用一个分支)

此时只会更新别人刚写好的的模块。然后你本地就是远程最新分支 + 你本地新写的东西

然后IDA会给你将你本地的最新代码做为一个新的版本提交到最新的仓库的主分支,以此完成本次合并分支


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/47289.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

花几千上万学习Java,真没必要!(十九)

1、StringBuilder: 测试代码1: package stringbuilder.com; import java.util.ArrayList; import java.util.List; public class StringBuilderExample { public static void main(String[] args) { // 初始化StringBuilder StringBuilder sb n…

腾讯会议产品策划的成长之路:从万字文档到功能落地的实战经验

腾讯会议产品策划的成长之路:从万字文档到功能落地的实战经验 在腾讯会议的产品团队中,有这样一位产品策划,他以其出色的逻辑思维、全局观念以及扎实的执行力,在团队中发挥着举足轻重的作用。他就是林陪同,一个自称“会…

JAVA进阶学习12

文章目录 一、File类1.1 File对象的构造1.2 File对象的常见方法判断功能的方法获取功能的方法绝对路径和相对路径创建删除功能的方法 1.3 File的常用遍历方法1.4 File获取并遍历的其他方法1.5 用法举例二、IO流2.1 IO的分类2.2 字节流的方法概述2.2.1 FileOutputStream2.2.2 Fi…

UE4-字体导入

一.字体导入 方法一: 然后通过导入将自己想要的字体导入到项目中,也可以直接将我们放在桌面的字体直接拖入到我们的内容浏览器中。 但是要注意想要发售游戏的话不可以这样导入微软的字体,因为Windows自带基本都有版权,所以最…

明星应援系统小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,线上应援管理,线下应援管理,应援物品管理,购买订单管理,集资应援管理,集资订单管理,市集订单管理&#xff0…

【CSS in Depth 2 精译_020】3.3 元素的高度

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对…

在 CI/CD 中怎么使用 Docker 部署前端项目?

本项目代码已开源,具体见: 前端工程:vue3-ts-blog-frontend 后端工程:express-blog-backend 数据库初始化脚本:关注公众号程序员白彬,回复关键字“博客数据库脚本”,即可获取。 前言 在上一篇文…

快速上手AI指令:打造个性化智能交互体验的全面指南

快速上手AI指令:打造个性化智能交互体验的全面指南 一、初识文心一言1.1 文心一言简介1.2 文心一言的特点 二、准备工作2.1 获取访问权限2.2 熟悉界面布局2.3 了解基础指令 三、基础指令操作3.1 问答互动3.2 文本创作3.3 任务规划 四、进阶指令操作4.1 复杂查询4.2 …

Python酷库之旅-第三方库Pandas(035)

目录 一、用法精讲 106、pandas.Series.iloc方法 106-1、语法 106-2、参数 106-3、功能 106-4、返回值 106-5、说明 106-6、用法 106-6-1、数据准备 106-6-2、代码示例 106-6-3、结果输出 107、pandas.Series.__iter__魔法方法 107-1、语法 107-2、参数 107-3、…

Java程序的故障排查

文章目录 Linux命令关机/重启/注销系统信息和性能查看磁盘和分区⽤户和⽤户组⽹络和进程管理常⻅系统服务命令⽂件和⽬录操作⽂件查看和处理打包和解压RPM包管理命令YUM包管理命令DPKG包管理命令APT软件⼯具 JDK命令jpsjstatjinfojmapjhatjstackjcmdjconsole 分析工具VisualVME…

自动驾驶-预测概览

通过生成一条路径来预测一个物体的行为,在每一个时间段内,为每一辆汽车重新计算预测他们新生成的路径,这些预测路径为规划阶段做出决策提供了必要信息 预测路径有实时性的要求,预测模块能够学习新的行为。我们可以使用多源的数据…

超简单安装指定版本的clickhouse

超简单安装指定版本的clickhouse 命令执行shell脚本 idea连接 命令执行 参考官网 # 下载脚本 wget https://raw.githubusercontent.com/183461750/doc-record/d988dced891d70b23c153a3bbfecee67902a3757/middleware/data/clickhouse/clickhouse-install.sh # 执行安装脚本(中…

【漏洞复现】Netgear WN604 downloadFile.php 信息泄露漏洞(CVE-2024-6646)

0x01 产品简介 NETGEAR WN604是一款由NETGEAR(网件)公司生产的无线接入器(或无线路由器)提供Wi-Fi保护协议(WPA2-PSK, WPA-PSK),以及有线等效加密(WEP)64位、128位和152…

亲测--linux下安装ffmpeg最新版本---详细教程

下载地址 Download FFmpeg 下载最新的https://ffmpeg.org/releases/ffmpeg-7.0.1.tar.xz 上传到服务器 解压 tar xvf ffmpeg-7.0.1.tar.xz 编译 cd ffmpeg-7.0.1 ./configure --prefix=/usr/local/ffmpeg make && make install 报错: 解决:在后面加 跳过检测…

【Word】——小技巧

1.PDF相关转换word PDF转换成Word在线转换器 - 免费 - CleverPDF 2. word插入公式 1.软件推荐(免费) 可直接将图片,截屏公式转为word标准规范形式 2.网址推荐 在线LaTeX公式编辑器-编辑器 (每天有免费使次数) 3.…

Matlab演示三维坐标系旋转

function showTwo3DCoordinateSystemsWithAngleDifference() clear all close all % 第一个三维坐标系 origin1 [0 0 0]; x_axis1 [1 0 0]; y_axis1 [0 1 0]; z_axis1 [0 0 1];% 绕 x 轴旋转 30 度的旋转矩阵 theta_x 30 * pi / 180; rotation_matrix_x [1 0 0; 0 cos(th…

Linux服务器配置Python+PyTorch+CUDA深度学习环境

参考博主 Linux服务器配置PythonPyTorchCUDA深度学习环境_linux cuda环境配置-CSDN博客 https://blog.csdn.net/NSJim/article/details/115386936?ops_request_misc&request_id&biz_id102&utm_termlinux%E8%99%9A%E6%8B%9F%E7%8E%AF%E5%A2%83%E6%8C%89pytorch%20…

4核16G服务器支持多少人?4C16G服务器性能测评

租赁4核16G服务器费用,目前4核16G服务器10M带宽配置70元1个月、210元3个月,那么能如何呢?配置为ECS经济型e实例4核16G、按固定带宽10Mbs、100GB ESSD Entry系统盘。 那么问题来了,4C16G10M带宽的云服务器可以支持多少人同时在线&…

C++ ───List的使用

目录 1.1 list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator的使用 1.2.3 list capacity 1.2.4 list element access 1.2.5 list modifiers 1.2.6 list的迭代器失效 1.1 list的介绍 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器&…

2024年汉字小达人比赛区级活动学校选拔的题型预测和真题示例

上一篇文章,好真题网为大家介绍了2024年上海市小学生汉字小达人比赛活动的轮次、举办日期、参赛对象、报名方式、费用和如何备考的建议等。 有家长朋友问汉字小达人考试的内容和范围是什么,有哪些题型,以及汉字小达人比赛和上海市小学生古诗…