讲了那么多,那么问题来了,在IEDA中如何使用Git?
在这边我们先假定一些场景,然后根据这些场景来具体讲解在ieda中如何使用Git。
工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下:

假设小组中有两个人,组长盖茨,组员艾伦

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

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

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

场景四:盖茨从远程仓库获取艾伦的提交

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

场景六:艾伦把分支提交到远程Git仓库

场景七:盖茨获取艾伦提交的分支

场景八:盖茨把分支合并到主干

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

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

在IDEA中配置Git
如果是IDEA,直接使用快捷键,CTRL+alt+s,打开设置窗口。

然后创建一个项目

选择VCS - > Enable Version Control Integration,允许将项目集成到版本控制器中

如果没有出现Enable Version Control Integration这个,说明你的项目已经集成了其他的版本控制,需要先删除其他的版本控制,加入git就可以了

选择版本控制器类型

完成后当前项目就变成一个Git项目,是工作空间

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

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

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

具体操作,在项目上点击右键,选择Git菜单,如果使用Add则将文件从工作空间提交到暂存库,Commit Directory则是同时完成提交到暂存与本地仓库。

选择要提交的文件,填写消息

将本地仓库的内容提交到远程仓库

定义远程地址的别名,以及地址url,然后就出现下图

提示Push Successful就成功了

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

即克隆项目,操作如下

输入盖茨Push时填写的远程仓库地址
填写仓库地址、要克隆到的父目录与项目目录

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

当提示签出成功点击打开就可以看到项目了

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

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

添加一个类,并提交

提交到本地仓库

提交到远程仓库

场景四:盖茨从远程仓库获取艾伦的提交

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

选择分支

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

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

创建流程如下:

选择New Branch并输入一个分支的名称
创建完成后注意IDEA的右下角,如下图,Git: dev表示已经自动切换到dev分支,当前工作在这个分支上。

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

如下图,点击Checkout,切换到分支

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

场景六:艾伦把分支提交到远程Git仓库

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

提交到远程

艾伦将新开发的功能提交到远程

提交到远程

场景七:盖茨获取艾伦提交的分支

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

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

切换远程分支:(dev1是我自己创建的分支,点击可以切换分支)

场景八:盖茨把分支合并到主干
新功能开发完成,体验很好,项目组决定把该功能合并到主干上。

切换到master分支,选择Merge Changes

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

以上就是Git在项目中的基本应用,关于基本应用如有遇到问题,欢迎留言。

版本控制SoEasy之Git-04相关推荐

  1. 分布式版本控制工具:git与Mercurial(zz)

    分布式版本控制工具:git与Mercurial [收藏此页] [打印] 作者:cyfdecyf  2007-12-26 内容导航: 第1页 [IT168 技术文档]    说到版本控制工具,很多人可能 ...

  2. git 强制更新远程_版本控制管理工具git的常见指令合集

    今天小千就来给大家介绍一下git中比较常见的指令合集,方便大家使用git,建议收藏起来方便日后查阅. 一.常见的命令 git help <command> # 显示command的help ...

  3. 软件版本控制Subversion和Git

    下面是对软件版本控制Subversion和Git的介绍,希望可以帮助到有需要的小伙伴~ 文章目录 软件版本控制是什么 版本控制是什么 软件版本控制是什么 版本控制系统Subversion和Git Su ...

  4. springboot去掉git版本控制_关于 Git 提交这些规范,你都遵守了吗?

    来源:人人贷大前端技术中心http://juejin.im/post/5d0b3f8c6fb9a07ec07fc5d0 git是现在市面上最流行的版本控制工具,书写良好的commit message能 ...

  5. Git版本控制总结——使用Git只要这篇就够了

    **说明:**以下对Git的介绍只针对于Window系统,Linux和Mac系统暂不介绍: Git是什么? 1.什么是版本控制? 版本控制是指对若干个文件内容进行修改时,可以对修改的文件进行历史查阅和 ...

  6. 架设私人版本控制工具,Ubuntu16.04设置GitLab CE服务器

    写在前面 GitLab CE(Community Edition,社区版本)是一款免费开源的Git服务器,和GitHub一样,上面能完成的主要工作是部署自己的版本控制项目.GitHub上一个允许部署无 ...

  7. 版本控制介绍、Git的安装、TortoiseGit的安装、Git的文件操作、IDEA + 同步到GitHub远程仓库 | 克隆 | 分支 | 忽略文件

    文章目录 版本控制 什么是版本控制 常见的版本控制工具 版本控制分类 Git与SVN的主要区别 Git的历史 Git安装与配置 TortoiseGit的安装 Git基本理论 Git项目搭建 Git文件 ...

  8. git lib 创建新的项目在某个路径下_版本控制管理工具git的使用

    一. 安装 Git(git_for_windows.xp510.com.rar) 二. 使用 进入到 git bash(命令行工具) 初始化user.name,user.email $ git con ...

  9. vspython版本控制_python使用git进行版本控制1

    首先,选择一个合适的地方,创建一个空目录: $ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit pwd命令用于显示当前目录. 如果 ...

最新文章

  1. 10分钟带你入门git到github
  2. Android被逼学习例子2
  3. AQS理解之六,AQS的其他实现类
  4. Oracle GoldenGate经典架构
  5. Mac系统下安装MySQL详细步骤
  6. Oracle BIEE 链接oracle 数据库的问题,报:Check if 'Oracle OCI 10G' database client is installed
  7. Linux基础开发工具
  8. android 吉他模拟器,真实吉他模拟器
  9. 中山大学3D游戏设计读书笔记 unity3D Note9
  10. 【程序员2公务员】一、基本认知
  11. Mstar 6A628 ubuntu 14.04 server Android 开发环境搭建
  12. c语言fscanf 发生段错误,亚嵌教育
  13. 2022春招第一波投递时间预测,早看早知道
  14. 创建一个8*8的国际象棋棋盘(黑块为0,白块为1)
  15. 女生应该找一个会打DOTA的男生做老公
  16. ES6 Promise 对象
  17. 被讨厌的勇气:人际关系论
  18. git撤销未提交的commit
  19. 一份致敬所有通信行业的老炮儿的信。
  20. [003]python数据类型一__python_全栈基础

热门文章

  1. window7 安装 Microsoft SQL Server 2008 Enterprise Edition 需要注意的问题
  2. Windows Server 2008 升级/更新系统补丁
  3. Sony PSP程序开发简介
  4. 项目经理必备的16个商业分析工具
  5. vue已知商家位置调用高德、百度和腾讯地图显示商家位置和导航(a标签href在url后拼接参数)
  6. Nand Flash源码分析(s5pv210)
  7. kali 安装 evil-winrm 遇到的问题
  8. golang之Gin项目脚手架搭建
  9. java是什么偏旁部首,教你在WPS中输入偏旁部首
  10. 联通出4G iPhone 5S(A1528)用不了