版本控制SoEasy之Git-04
讲了那么多,那么问题来了,在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相关推荐
- 分布式版本控制工具:git与Mercurial(zz)
分布式版本控制工具:git与Mercurial [收藏此页] [打印] 作者:cyfdecyf 2007-12-26 内容导航: 第1页 [IT168 技术文档] 说到版本控制工具,很多人可能 ...
- git 强制更新远程_版本控制管理工具git的常见指令合集
今天小千就来给大家介绍一下git中比较常见的指令合集,方便大家使用git,建议收藏起来方便日后查阅. 一.常见的命令 git help <command> # 显示command的help ...
- 软件版本控制Subversion和Git
下面是对软件版本控制Subversion和Git的介绍,希望可以帮助到有需要的小伙伴~ 文章目录 软件版本控制是什么 版本控制是什么 软件版本控制是什么 版本控制系统Subversion和Git Su ...
- springboot去掉git版本控制_关于 Git 提交这些规范,你都遵守了吗?
来源:人人贷大前端技术中心http://juejin.im/post/5d0b3f8c6fb9a07ec07fc5d0 git是现在市面上最流行的版本控制工具,书写良好的commit message能 ...
- Git版本控制总结——使用Git只要这篇就够了
**说明:**以下对Git的介绍只针对于Window系统,Linux和Mac系统暂不介绍: Git是什么? 1.什么是版本控制? 版本控制是指对若干个文件内容进行修改时,可以对修改的文件进行历史查阅和 ...
- 架设私人版本控制工具,Ubuntu16.04设置GitLab CE服务器
写在前面 GitLab CE(Community Edition,社区版本)是一款免费开源的Git服务器,和GitHub一样,上面能完成的主要工作是部署自己的版本控制项目.GitHub上一个允许部署无 ...
- 版本控制介绍、Git的安装、TortoiseGit的安装、Git的文件操作、IDEA + 同步到GitHub远程仓库 | 克隆 | 分支 | 忽略文件
文章目录 版本控制 什么是版本控制 常见的版本控制工具 版本控制分类 Git与SVN的主要区别 Git的历史 Git安装与配置 TortoiseGit的安装 Git基本理论 Git项目搭建 Git文件 ...
- git lib 创建新的项目在某个路径下_版本控制管理工具git的使用
一. 安装 Git(git_for_windows.xp510.com.rar) 二. 使用 进入到 git bash(命令行工具) 初始化user.name,user.email $ git con ...
- vspython版本控制_python使用git进行版本控制1
首先,选择一个合适的地方,创建一个空目录: $ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit pwd命令用于显示当前目录. 如果 ...
最新文章
- 10分钟带你入门git到github
- Android被逼学习例子2
- AQS理解之六,AQS的其他实现类
- Oracle GoldenGate经典架构
- Mac系统下安装MySQL详细步骤
- Oracle BIEE 链接oracle 数据库的问题,报:Check if 'Oracle OCI 10G' database client is installed
- Linux基础开发工具
- android 吉他模拟器,真实吉他模拟器
- 中山大学3D游戏设计读书笔记 unity3D Note9
- 【程序员2公务员】一、基本认知
- Mstar 6A628 ubuntu 14.04 server Android 开发环境搭建
- c语言fscanf 发生段错误,亚嵌教育
- 2022春招第一波投递时间预测,早看早知道
- 创建一个8*8的国际象棋棋盘(黑块为0,白块为1)
- 女生应该找一个会打DOTA的男生做老公
- ES6 Promise 对象
- 被讨厌的勇气:人际关系论
- git撤销未提交的commit
- 一份致敬所有通信行业的老炮儿的信。
- [003]python数据类型一__python_全栈基础
热门文章
- window7 安装 Microsoft SQL Server 2008 Enterprise Edition 需要注意的问题
- Windows Server 2008 升级/更新系统补丁
- Sony PSP程序开发简介
- 项目经理必备的16个商业分析工具
- vue已知商家位置调用高德、百度和腾讯地图显示商家位置和导航(a标签href在url后拼接参数)
- Nand Flash源码分析(s5pv210)
- kali 安装 evil-winrm 遇到的问题
- golang之Gin项目脚手架搭建
- java是什么偏旁部首,教你在WPS中输入偏旁部首
- 联通出4G iPhone 5S(A1528)用不了