工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下:

假设小组中有两个人,组长小张,组员小袁

场景一:小张创建项目并提交到远程Git仓库

场景二:小袁从远程Git仓库上获取项目源码

场景三:小袁修改了部分源码,提交到远程仓库

场景四:小张从远程仓库获取小袁的提交

场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发

场景六:小袁把分支提交到远程Git仓库

场景七:小张获取小袁提交的分支

场景八:小张把分支合并到主干

下面来看以上各场景在IDEA中对应的操作。

场景一:小张创建项目并提交到远程Git仓库

创建好项目,选择VCS - > Import into Version Control -> Create Git Repository

接下来指定本地仓库的位置,按个人习惯指定即可,例如这里选择了项目源代码同目录

点击OK后创建完成本地仓库,注意,这里仅仅是本地的。下面把项目源码添加到本地仓库。

下图是Git与提交有关的三个命令对应的操作,Add命令是把文件从IDE的工作目录添加到本地仓库的stage区,Commit命令把stage区的暂存文件提交到当前分支的仓库,并清空stage区。Push命令把本地仓库的提交同步到远程仓库。

IDEA中对操作做了一定的简化,Commit和Push可以在一步中完成。

具体操作,在项目上点击右键,选择Git菜单

因为是第一次提交,Push前需要指定远程仓库的地址。如下图,点击Define remote后,在弹出的窗口中输入远程仓库地址。

场景二:小袁从远程Git仓库上获取项目源码

即克隆项目,操作如下:

输入小张Push时填写的远程仓库地址

接下来按向导操作,即可把项目从远程仓库克隆到本地仓库和IDE工作区。

场景三:小袁修改了部分源码,提交到远程仓库

这个操作和首次提交的流程基本一致,分别是 Add -> Commit -> Push。请参考场景一

场景四:小张从远程仓库获取小袁的提交

获取更新有两个命令:Fetch和Pull,Fetch是从远程仓库下载文件到本地的origin/master,然后可以手动对比修改决定是否合并到本地的master库。Push则是直接下载并合并。如果各成员在工作中都执行修改前先更新的规范,则可以直接使用Pull方式以简化操作。

场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发

建分支也是一个常用的操作,例如临时修改bug、开发不确定是否加入的功能等,都可以创建一个分支,再等待合适的时机合并到主干。

创建流程如下:

选择New Branch并输入一个分支的名称

创建完成后注意IDEA的右下角,如下图,Git: wangpangzi_branch表示已经自动切换到wangpangzi_branch分支,当前工作在这个分支上。

点击后弹出一个小窗口,在Local Branches中有其他可用的本地分支选项,点击后选择Checkout即可切换当前工作的分支。

如下图,点击Checkout

注意,这里创建的分支仅仅在本地仓库,如果想让组长小张获取到这个分支,还需要提交到远程仓库。

场景六:小袁把分支提交到远程Git仓库

切换到新建的分支,使用Push功能

场景七:小张获取小袁提交的分支

使用Pull功能打开更新窗口,点击Remote栏后面的刷新按钮,会在Branches to merge栏中刷新出新的分支。这里并不想做合并,所以不要选中任何分支,直接点击Pull按钮完成操作。

更新后,再点击右下角,可以看到在Remote Branches区已经有了新的分支,点击后在弹出的子菜单中选择Checkout as new local branch,在本地仓库中创建该分支。完成后在Local Branches区也会出现该分支的选项,可以按上面的方法,点击后选择Checkout切换。

场景八:小张把分支合并到主干

新功能开发完成,体验很好,项目组决定把该功能合并到主干上。

切换到master分支,选择Merge Changes

选择要合并的分支,点击Merge完成

Idea中实战Git相关推荐

  1. 06-在IDEA中实战Git

    工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下: 假设小组中有两个人,组长小张,组员小袁 场景一:小张创建项目并提交到远程Git仓库 场景二:小袁从远程Git仓库上获取项目源码 场景三:小 ...

  2. IDEA中识别Git上新加的分支

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] Intellij IDEA 已然成为开发者的必备开发神器,在代码管理方面无疑Git也是 ...

  3. GitLabCICD实战----在.gitlab-ci.yml文件的步骤中使用git clone 另一个代码仓报错的解决办法

    更多信息请关注 个人网站 一.背景 在有些时候,比如在一个项目中,产品的代码是java代码仓,自动化测试脚本是python语言,单独存放的代码仓,在使用GitlabCICD构建流水线的时候有这样一种场 ...

  4. 【Git】Git分支、与gitee平台对接、Fork、Git工作流、在idea中配置Git、分支实战

    文章目录 一 分支 1 分支原理 2 分支实操 3 版本冲突 (1)冲突产生 (2)合并时冲突 (3)解决合并时冲突 二 与平台对接 1 对接流程 2 实战演练 (1)push (2)clone (3 ...

  5. 创新小组 实战Git团队企操作手册_精华版本

    文章目录 一.入门试炼 1. Git命令理解+准则 2. Git分支换分思路 3. 线上发布准备 二. 实战前期准备 二.场景实战 模拟提交准备 3.1. Git合并某个分支的某一/多次提交到指定分支 ...

  6. eclipse git 取远程代码_IDEA中的Git操作,看这一篇就够了!

    大家在使用Git时,都会选择一种Git客户端,在IDEA中内置了这种客户端,可以让你不需要使用Git命令就可以方便地进行操作,本文将讲述IDEA中的一些常用Git操作. SpringBoot实战电商项 ...

  7. Idea 中的 Git 操作看这一篇就够了(最全的讲解,文章比较长,截图比较多是为了说明问题)

    环境部分略过 从0开始创建一个项目,用来讲解git,会包括创建远程新分支,回滚等操作. 在每一个讲解过程中都会有问题提问 基础部分讲解 实战高级部分 基础部分内容 如果在github上已有仓库    ...

  8. windows实战Git环境配置msysGit+TortoiseGit(zz)

    windows实战Git环境配置msysGit+TortoiseGit 发表于: 2010-08-17 14:46 查看: 2,047 次点击 评论:0 标签: git, msysgit, Torto ...

  9. 我爱Java系列之---【组员在idea中使用Git】

    1.在Idea中配置Git 安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径.选择File→S ...

最新文章

  1. 5G:新基建的压舱石,如何为新基建按下“加速键”?
  2. 聊聊 TCP 长连接和心跳那些事
  3. 讲你肯定能懂的机器学习多维极值求解
  4. 最终产品的质量需求是什么?
  5. Nginx-windows下nginx安装、配置与使用
  6. [RN] React Native 实现 类似京东 的 沉浸式状态栏和搜索栏
  7. SQL逗号分隔的字段统计(摘自网络)
  8. 怎么用python画房子_怎么用python画小猪佩奇
  9. kettle设置变量中变量范围的设置说明
  10. 从零开始刷Leetcode——数组(27.35.53)
  11. linux 安装apache resin,Linux下安装resin+apache+jdk+php+mysql(gd)全过程(二)
  12. 电子邮件的收发及传输过程解析
  13. Python自制“超级马里奥”小游戏
  14. python turtle 海龟绘图详解(官方文档中文版)
  15. nn.Squential与nn.ModuleList区别
  16. MFC Tab控件的使用方法
  17. oracle、mysql、sqlserver的对比数据库引擎的对比与选型InnoDB解决幻读
  18. Ant [BOOK]
  19. 镜头离焦对于ToF深度的影响分析
  20. 租用独立服务器哪个网站好,什么网站适合租用独立服务器

热门文章

  1. ESP8266编译脚本之四
  2. linux 块设备驱动 (三)块设备驱动开发
  3. 强化学习(一)——专业术语及OpenAI Gym介绍
  4. Win10安装NodeJS
  5. 练习2: Python基本图形绘制 (第2周)
  6. QT 32位程序Debug模式发布问题
  7. 区块链BaaS云服务(12)易居(中国) 房地产 EBaaS(Estate Blockchain as a Service)
  8. 设计模式--观察者(Observer)模式
  9. 【Python小程序】必备软件系列之文字识别提取,前台再也不同担心纸质转电子文件啦~
  10. 02-缓存一致性---实现big.LITTLE、GPU 计算和企业应用