IntelliJ-IDEA和Git、GitHub、Gitlab的使用
一、基本入门
1.IntelliJ-IDEA预装的版本控制介绍
我们来看IntelliJ-IDEA的版本控制设置区域 
打开File>Settings>Version Control  
可以看到里面有git插件
这让很多人认为 IntelliJ IDEA 自带了 SVN 或是 Git 等版本控制工具,认为只要安装了 IntelliJ IDEA 就可以完全使用版本控制应有的功能。这完全是一种错误的解读,IntelliJ IDEA 是自带对这些版本控制工具的支持插件,但是该装什么版本控制客户端还是要照样装的。
上面可以看到里面还自带了github插件,这是因为目前太多人使用 Github 进行协同或是项目版本管理
2.git.exe和Github的配置
1.配置git.exe
先确保电脑上已经安装了Git和TortoiseGit 
接着再配置git客户端 
2.配置Github
下面是选择账号和密码登录 
3.clone项目从Github上
接着可以将GitHub上的项目checkout下来  
如果GitHub上有多个项目的话,那么可以选择其中的一个  
点击clone后,IntelliJ-IDEA就会开始clone项目 
4.将本地项目上传到Github上
选择Import into Version Control  
然后填写相关的信息  
这时候会提示你选择上传的文件  
仓库创建成功后,会出现如下的提示  
再看GitHub下,多了一个项目仓库  
点击进去,项目的相关结构如下 
二、版本控制的主要操作按钮
git的操作的入口如下:  
也可以在工具栏中进行操作 
注意这五个按钮  
五个按钮的功能如下:
- 第一个按钮:Update Project 更新项目。
 - 第二个按钮:Commit changes 提交项目上所有变化文件。点击这个按钮不会立马提交所有文件,而是先弹出一个被修改文件的一个汇总框,具体操作下面会有图片进行专门介绍。
 - 第三个按钮:Compare with the Same Repository Version 当前文件与服务器上该文件通版本的内容进行比较。如果当前编辑的文件没有修改,则是灰色不可点击。
 - 第四个按钮:Show history 显示当前文件的历史记录。
 - 第五个按钮:Revert 还原当前被修改的文件到未被修改的版本状态下。如果当前编辑的文件没有修改,则是灰色不可点击。
 
具体作用如下,如下面添加了一行,如果不满意,可以还原  
但是如果想提交的话,可以选择这个  
 
填写相关的信息后,可以直接选择commit和push  
点击push  
提交完毕后,我们可以查看相关的记录  
可以看到如下的记录  
这时候GitHub上项目就会出现相关的信息了 
三、版本控制的常用设置
1.Version Control面板
1. 代表这个项目的版本控制是GIT 
2. Show directories with changed descendants 表示子目录有文件被修改了,则该文件的所有上层目录都显示版本控制被修改的颜色(建议勾选)
2.Confimation确认信息面板
添加新文件和删除文件的提示 
3.Ignored Files面板
这个是设置不添加到版本控制的文件 
4.commit文件的面板介绍
commit文件的时候会出现如下的面板 
1.show Diff
show Diff可以比较本地跟服务器文件的不同 
2.Move to Another ChangeList
这个选项可以将改动的文件分门别类的放置在一个文件夹中,等修改完毕,可以一起提交(一般用在分模块开发上,也就是开发完一个模块时,可以将这个模块上改动的代码设置到一个文件夹中,然后再一起祈祷) 
3.查看提交信息
四、项目分支设置的入口
如果使用Git版本控制的话,可以看到右下角上有相关的控制入口 
五、Gitlab的使用
Gitlab跟Github类似,都是代码托管的网站,最大的不同是Gitlab创建的项目可以免费私有的,不必像Github那样收费,而且Gitlab还可以搭建自己的私服。所以开源项目一般都是放置在Github,个人私有项目可以放置在公网的Gitlab上,而公司私有的项目可以放置在自己搭建的Gitlab上。
1.创建项目
2.对项目进行操作
项目创建完后,可以点击左上角进行查看  
点击Project,可以看到项目的列表  
可以为项目添加一个README.md  
接着可以将指定的项目clone下来,下面是通过用户名和密码的方式clone下来 
在 
接着在IntellIj-IDEA上使用Git将其Clone下来  
如上图,check out项目的时候因为不是Github,所以不再选择Github,而是选择普通的Git来将项目clone下来  
最后输入密码,再将其clone下来  
clone下来后,项目结构如下:  
这时候就可以进行正常的add、commit、push操作了
3.将项目发布到gitlab上
先在本地创建一个项目 
先将项目添加到版本控制中  
添加到版本控制后,我们可以看到文件都变成绿色了  
接着往本地提交项目  
填写提交的相关信息  
注意perform code analysis 就不要勾选了,这个选项会自动检查代码,会很慢 
接着将项目push到服务器中 
下面点击push  
接下来需要定义远程的服务  
此时需要再弹出框中设置url,我们先在gitlab新建一个project,这样的目的是为了获得相关的url 
填写url后,再点击push  
此时还需要填写gitlab上的密码  
push成功后,会出现这样的提示,这是成功的提示:  
再查看gitlab上的项目信息,可以看到提交的代码,具体如下图 
IntelliJ-IDEA和Git、GitHub、Gitlab的使用的更多相关文章
- git,github,gitlab,码云的区别
		
git 是版本控制工具. github https://github.com/和gitlab https://about.gitlab.com/都是基于git仓库的web开发流程代码托管平台.两者的区 ...
 - 【GIT-精讲】从零玩转Git/GitHub/GitLab
		
关于版本控制 一.什么是版本控制 版本控制(Version Control Systems)版本控制(Revision control)是一种软件工程技巧 在开发的过程中,确保由不同人所编辑的同一档案 ...
 - 本地Git仓库与GitHub/GitLab仓库同步
		
本地仓库即为在你的电脑上的项目文件,远程仓库即为服务器仓库,如GitHub.GitLab或其他等.此处以GitHub介绍本地仓库与远程仓库的同步.可先创建本地仓库,也可先创建GitHub仓库,但都需要 ...
 - github/gitlab 管理多个ssh key
		
github/gitlab 管理多个ssh key 以前只使用一个 ssh key 在github上提交代码,由于工作原因,需要再添加一个ssh key在公司的 gitlab上提交代码,下面记录下配置 ...
 - Intellij 中的git操作 转!
		
http://blog.csdn.net/lovesummerforever/article/details/50032937 Git原理以后会分章节介绍,本次主要说一下intellij怎样操作git ...
 - CentOS7上GitHub/GitLab多帐号管理SSH Key
		
由于公司团队使用 GitLab 来托管代码,同时,个人在 Github 上还有一些代码仓库,可公司邮箱与个人邮箱是不同的,由此产生的 SSH key 也是不同的,这就造成了冲突 ,文章提供此类问题的解 ...
 - Eclipse / Intellij Idea配置Git+Maven+Jetty开发环境
		
作者:鹿丸不会多项式 出处:http://www.cnblogs.com/hechao123 转载请先与我联系. 最近公司给加配了Mac,本想着花一个小时的时间搭好开发环境,最后全部弄好却用了一上午 ...
 - 【Linux】配置SSH Key到GitHub/GitLab
		
Linux配置SSH Key到GitHub/GitLab 准备工作 首先检查下本机是否已经安装了SSH,在终端输入ssh即可: 如果没有安装进行yum安装 # yum -y install opens ...
 - Git和Gitlab在使用过程中所遇到的问题
		
01-关于gitLab添加ssh key后,git clone还提示输入密码问题 本地用户连接远程仓库需要用 HTTP方式连接,SSH方式会出现提示输入密码 git clone http://.... ...
 - Intellij IDEA创建git,maven的SpringMVC项目
		
Intellij IDEA创建git,maven的SpringMVC项目 原文链接:http://www.cnblogs.com/blog5277/p/8906120.html 原文作者:博客园--曲 ...
 
随机推荐
- jquery css样式
			
1.单一样式 $('.list li').css( "float", "none"); 2. 多个样式 $('.list li').css( { ...
 - mysql python pymysql模块 增删改查 查询 fetchmany fetchall函数
			
查询的fetchmany fetchall函数 import pymysql mysql_host = '192.168.0.106' port = 3306 mysql_user = 'root' ...
 - Gson的两种解析用法
			
第一种. 常见的解析,直接将json字符串解析为对应的类. public JavaBean getJsonString(String jsonString) { Gson gson = new Gso ...
 - python开发中容易犯的错误整合
			
写在前面 长期更新的博文.多数是一些比较隐蔽的问题.欢迎留言补充. pip并不是那么安逸 pip安装对于开发者来说确实是一种解放.可以自动安装依赖包,但执行最简单的pip安装命令时,并不是所有的依赖都 ...
 - X-Forwarded-For 负载均衡 7 层 HTTP 模式获取来访客户端真实 IP 的方法(IIS/Apache/Nginx/Tomcat)
			
https://help.aliyun.com/knowledge_detail/13051859.html?pos=1 1.IIS 6 配置方案2.IIS 7 配置方案3.Apache 配置方案4. ...
 - SSH无密码登录:只需两个简单步骤 (Linux)
			
最后更新 2017年4月8日 分类 最新文章 服务器安全 标签 RSA SSH Key 非对称加密 如果你管理一台Linux服务器,那么你就会知道每次SSH登录时或者使用scp复制文件时都要输入密码是 ...
 - sqlserver 获得行号作为唯一id
			
当sqlserver创建的view没有唯一的标识字段里,entity framework codefirst配置会出现错误,因为取其行号作为唯一标识列 CREATE VIEW [SafeWatch]. ...
 - promise-async-await
			
通常而言,这3个关键字 都是用来「优雅」的处理ajax异步请求的 //es6的时候promise诞生,很好的解决了嵌套回调地狱,改良方案为链式回调. // es2017的时候诞生了async.awai ...
 - js小数运算出现多位小数如何解决
			
小数相乘出现很多位小数的问题:这个问题自己以前也遇到过,现在特意来总结一下: Number类型: Number类型是ECMAScript中最常用和最令人关注的类型了:这种类型使用IEEE754格式来表 ...
 - python3.4学习笔记(四) 3.x和2.x的区别,持续更新
			
python3.4学习笔记(四) 3.x和2.x的区别 在2.x中:print html,3.x中必须改成:print(html) import urllib2ImportError: No modu ...