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 原文作者:博客园--曲 ...
随机推荐
- CH0102 64位整数乘法 数论
正解:数论/一个神仙想法 解题报告: 先放传送门qwq 两种方法,都还挺妙的就都写了qwq 第一种是快速幂 把b用二进制表示成,ck*2k+ck-1*2k-1+...+c0*20 然后就可以表示成,a ...
- 【python-opencv】20-图像金字塔
知识点介绍 图像金字塔原理: 高斯金字塔 拉普拉斯金字塔: 代码层面知识点: cv2.PyrDown:降采样 cv2.PyrUp:升采样 高斯金字塔与拉普拉斯金字塔 图像金字塔是图像中多尺度表达的 ...
- oracle(一)复习起航
住了三年的宿舍,前几天不得不搬走.也断了好几天网,所以顺手拿了本以前买的<oracle编程艺术>,感觉翻译的书就是有些地方读起来不通顺,好吃力. 还好以前有点oracle经验,不然真看不懂 ...
- 【Pyton】【小甲鱼】永久存储:腌制一缸美味的泡菜
pickle(泡菜): picking:将对象转换为二进制 unpicking:将二进制转换为对象 1 >>> import pickle 2 #picking:对象导入到文件中(二 ...
- 【Swift初见】SourceKitService Terminated
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/weasleyqi/article/details/36162085 心血来潮想试试最新的Xcode6 ...
- 13 jmeter性能测试实战--FTP程序
需求 上传一个文件到服务器(put),下载一个文件到本地(get). 测试步骤 1.创建一个线程组. 2.线程组-->添加-->配置元件-->FTP请求缺省值(可有可无,相当于给“服 ...
- [svc]sublime text3设置py环境最佳姿势
搞个py虚拟环境 待sublim调用 - for windows pip install virtualenv pip install virtualenvwrapper pip install vi ...
- [wx]自然数学规律
有趣的数学规律 椭圆 双曲线 抛物线都叫圆锥曲线 它们跟圆锥有着怎样的关系? 他们都是圆锥与平面在不同姿势下交配的产物. 参考 椭圆 抛物线 小结 e: 离线率 P: 任意一点 F: 焦点 准线: 一 ...
- libsvm使用
先挖个坑,有空重写svm_scale, svm_train, svm_predict几个代码,给的实在写的不敢恭维 package org.ml.svm; import java.io.File; i ...
- Lintcode: Find Peak Element
There is an integer array which has the following features: * The numbers in adjacent positions are ...