【IntelliJ IDEA学习之九】版本控制之Git和Github

版本:IntelliJIDEA2018.1.4

【IntelliJ IDEA学习之九】版本控制之Git
版本:IntelliJIDEA2018.1.4

一、git知识准备
git是目前流行的分布式版本管理系统。它拥有两套版本库,本地库和远程库,在不进行合并和删除之类的操作时这两套版本库互不影响。也因此其近乎所有的操作都是本地执行,所以在断网的情况下任然可以提交代码,切换分支。

1、git操作流程

【IntelliJ IDEA学习之九】版本控制之Git和Github

git clone:将远程的Master分支代码克隆到本地仓库
git checkout:切出分支出来开发
git add:将文件加入库跟踪区
git commit:将库跟踪区改变的代码提交到本地代码库中
git push: 将本地仓库中的代码提交到远程仓库

2、git 分支
(1)主分支
master分支:存放随时可供生产环境中的部署的代码
develop分支:存放当前最新开发成果的分支,当代码足够稳定时可以合并到master分支上去。
(2)辅助分支
feature分支:开发新功能使用,最终合并到develop分支或抛弃掉
release分支:做小的缺陷修正、准备发布版本所需的各项说明信息
hotfix分支:代码的紧急修复工作


二、Git安装和配置
1、安装Git

【IntelliJ IDEA学习之九】版本控制之Git和Github

2、idea配置

【IntelliJ IDEA学习之九】版本控制之Git和Github

设置Github

 【IntelliJ IDEA学习之九】版本控制之Git和Github

3、面板

(1)Local Changes

【IntelliJ IDEA学习之九】版本控制之Git和Github
(2)Log面板

【IntelliJ IDEA学习之九】版本控制之Git和Github
自上至下---》自左到右
搜索(提交消息)、分支筛选、用户筛选、时间筛选、路径、排序开关、显示长优势(边缘)、刷新、进入分支等、pick、高亮 pick提交消息、用户信息、提交时间、提交明细

(3)Console
git命令执行记录

【IntelliJ IDEA学习之九】版本控制之Git和Github

(4)Git远程仓库操作

【IntelliJ IDEA学习之九】版本控制之Git和Github

三、操作
3.1 拉取项目(远程到本地)

【IntelliJ IDEA学习之九】版本控制之Git和Github或者【IntelliJ IDEA学习之九】版本控制之Git和Github

【IntelliJ IDEA学习之九】版本控制之Git和Github

【IntelliJ IDEA学习之九】版本控制之Git和Github

选择Yes会使用向导导入工程,会设置工程特征,识别maven,如果选择No 只会拉取代码 不会设置工程 需要手动自己设置,其他设置和SVN差不多:

【IntelliJ IDEA学习之九】版本控制之Git和Github

【IntelliJ IDEA学习之九】版本控制之Git和Github【IntelliJ IDEA学习之九】版本控制之Git和Github【IntelliJ IDEA学习之九】版本控制之Git和Github

【IntelliJ IDEA学习之九】版本控制之Git和Github【IntelliJ IDEA学习之九】版本控制之Git和Github

【IntelliJ IDEA学习之九】版本控制之Git和Github【IntelliJ IDEA学习之九】版本控制之Git和Github

最终效果:

【IntelliJ IDEA学习之九】版本控制之Git和Github

 3.2 项目提交到远程Git仓库

(1)在Github上先创建一个repository

【IntelliJ IDEA学习之九】版本控制之Git和Github

(2)项目add到本地仓库

【IntelliJ IDEA学习之九】版本控制之Git和Github

(3)项目提交到本地仓库

【IntelliJ IDEA学习之九】版本控制之Git和Github

(4)推送到远程仓库

【IntelliJ IDEA学习之九】版本控制之Git和Github

选择刚刚在Github创建的reponsitory URL:

【IntelliJ IDEA学习之九】版本控制之Git和Github

 【IntelliJ IDEA学习之九】版本控制之Git和Github

3.3 更新代码

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

【IntelliJ IDEA学习之九】版本控制之Git和Github

3.4 创建分支

【IntelliJ IDEA学习之九】版本控制之Git和Github

【IntelliJ IDEA学习之九】版本控制之Git和Github【IntelliJ IDEA学习之九】版本控制之Git和Github

新建分支如下:

【IntelliJ IDEA学习之九】版本控制之Git和Github

修改分支代码后,将分支提交到远程Git仓库,和3.2相似,只不过选择分支push

【IntelliJ IDEA学习之九】版本控制之Git和Github

3.5 拉取别人分支

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

【IntelliJ IDEA学习之九】版本控制之Git和Github


3.6 合并分支

【IntelliJ IDEA学习之九】版本控制之Git和Github

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

【IntelliJ IDEA学习之九】版本控制之Git和Github

参考:
IDEA中Git实战