IDEA集成Git、GitHub、Gitee

一、IDEA 集成 Git

1.1、配置 Git 忽略文件

为什么要忽略他们?

与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差异。

怎么忽略?

创建忽略规则文件 xxxx.ignore(前缀名随便起,建议是 git.ignore)

 

这个文件的存放位置原则上在哪里都可以,为了便于让~/.gitconfig文件引用,建议也放在用户根目录下

git.ignore文件模版内容

# Compiled class file 
*.class 
 
# Log file 
*.log 
 
# BlueJ files 
*.ctxt 
 
# Mobile Tools for Java (J2ME) 
.mtj.tmp/ 
 
# Package Files # 
*.jar 
*.war 
*.nar 
*.ear 
*.zip 
*.tar.gz 
*.rar 
 
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 
hs_err_pid* 
.classpath 
.project .settings target .idea 
*.iml 	crash 	logs,  	see

在 .gitconfig 文件中引用忽略配置文件(此文件在 Windows 的家目录中)

[core]
	excludesfile = C:/Users/Archimedes/git.ignore

注意:这里要使用正斜线(/),不要使用反斜线(\

 

1.2、定位 Git 程序

IDEA集成Git、GitHub、Gitee_第1张图片

 

1.3、初始化本地库

明显看到,文件颜色变红了,代表着未被追踪。说明 Git 已经检测到 git-test 下文件,但是文件尚未被添加至暂存区

IDEA集成Git、GitHub、Gitee_第2张图片

 

1.4、添加至暂存区

IDEA集成Git、GitHub、Gitee_第3张图片

添加完毕之后,可以看到文件颜色变绿了,代表文件被追踪。说明 Git 已将文件添加至暂存区,但是尚未提交本地库

srcmainjava下创建一个com.test.Test.java文件

IDEA集成Git、GitHub、Gitee_第4张图片

这是 IDEA 会自动检测到该文件,并提示是否需要将Test.java添加至暂存区

这里先Cancel,不直接Add单个文件,取而代之的是在整个项目上进行Add操作,这样整个项目下文件都可以被添加至暂存区

IDEA集成Git、GitHub、Gitee_第5张图片

这时会发现,Test.java文件变成绿色了,说明添加成功

IDEA集成Git、GitHub、Gitee_第6张图片

 

1.5、提交到本地库

IDEA集成Git、GitHub、Gitee_第7张图片

点击Commit Diretory...之后,就可以看到暂存区的文件,输入日志信息就可以进行提交了

IDEA集成Git、GitHub、Gitee_第8张图片

提交完毕之后,文件颜色也随之发生改变,说明 Git 已将文件提交至本地库

IDEA集成Git、GitHub、Gitee_第9张图片

 

1.6、切换版本

首先修改文件,观察到修改的文件颜色为蓝色,表示已修改状态,可以直接进行commit操作

IDEA集成Git、GitHub、Gitee_第10张图片

点击 IDEA 左下角 Git,可以查看历史版本

IDEA集成Git、GitHub、Gitee_第11张图片

选定某一版本,点击Checkout Reversion xxx,可以进行版本穿梭

IDEA集成Git、GitHub、Gitee_第12张图片

可以看到每次版本穿梭,HEAD指针的变化

IDEA集成Git、GitHub、Gitee_第13张图片

IDEA集成Git、GitHub、Gitee_第14张图片

IDEA集成Git、GitHub、Gitee_第15张图片

 

1.7、创建分支、切换分支

点击 IDEA 右下角masterNew Branch就可以创建分支了

IDEA集成Git、GitHub、Gitee_第16张图片

输入分支名,点击Create进行创建

IDEA集成Git、GitHub、Gitee_第17张图片

当然,也通过项目上右键GitNew Branch,或者右键GitBranchesNew Branch同理

IDEA集成Git、GitHub、Gitee_第18张图片

切换分支同理,右键或是右下角均可

IDEA集成Git、GitHub、Gitee_第19张图片

 

1.8、合并分支

首先切换到hot-fix分支,修改内容后提交,再切换回master分支,同样在右下角选择我们需要合并的分支hot-fix,选择Merge Selected into Current,将hot-fix分支合并至master分支上

IDEA集成Git、GitHub、Gitee_第20张图片

发现内容已发生改变,并且查看历史版本也发生了变化

IDEA集成Git、GitHub、Gitee_第21张图片

 

1.9、冲突合并

首先,分别切换masterhot-fix都对Test.java内容进行修改并提交

master版本信息

IDEA集成Git、GitHub、Gitee_第22张图片

hot-fix版本信息

IDEA集成Git、GitHub、Gitee_第23张图片

可以观察到,历史版本发生了分叉。现在将hot-fix合并至master上,提示Conflicts,说明合并出现了冲突

IDEA集成Git、GitHub、Gitee_第24张图片

点击Merge进行手动合并

IDEA集成Git、GitHub、Gitee_第25张图片

解决完冲突后,会提示All changes have been processed. Save changes and finish merging,说明代码可以正常合并,点击Apply对手动合并的代码进行应用

IDEA集成Git、GitHub、Gitee_第26张图片

会发现文件颜色变为正常颜色,并且历史版本发生了改变,原来的两个分支合并成了一个

IDEA集成Git、GitHub、Gitee_第27张图片

 

 

二、IDEA 集成 GitHub

2.1、设置 GitHub 账号

通过账号密码设置

打开Settings,点击Log In via GitHub...

IDEA集成Git、GitHub、Gitee_第28张图片

IDEA集成Git、GitHub、Gitee_第29张图片

会自动打开浏览器,进行授权确认

IDEA集成Git、GitHub、Gitee_第30张图片

点击Authorize in GitHub后,会提示授权成功

IDEA集成Git、GitHub、Gitee_第31张图片

看到 IDEA 里新增了一条账号信息即为添加成功

IDEA集成Git、GitHub、Gitee_第32张图片

通过 Token 设置

点击Log In with Token...

IDEA集成Git、GitHub、Gitee_第33张图片

会弹出Add GitHubh Account框,输入我们在 GitHub 上创建的 Token 信息即可

IDEA集成Git、GitHub、Gitee_第34张图片

如果还没有生成过或者丢失了之前创建的 Token,可以直接点击Generate...进行自动生成,默认已勾好权限

IDEA集成Git、GitHub、Gitee_第35张图片

修改并确认无误后,点击Generate token即可进行生成

IDEA集成Git、GitHub、Gitee_第36张图片

Token 生成之后,只会在当前页面显示一次,需要及时复制保存下来

IDEA集成Git、GitHub、Gitee_第37张图片

将 Token 粘贴至输入框,点击Add Account即可添加

IDEA集成Git、GitHub、Gitee_第38张图片

最后别忘了,一定要点击ApplyOK对设置进行保存

 

2.2、分享工程到 GitHub

我们一般会先在远程库创建一个Repository,再将本地库通过remote关联到远程库,最后进行版本推送 

或者是先在远程库创建一个Repository,再通过clone将远程库克隆至本地,最后进行版本推送

而在 IDEA 中,可以将上述步骤合成一个步骤,即通过Share将本地库分享至 GitHub 上,非常便捷

IDEA集成Git、GitHub、Gitee_第39张图片

填写完信息后,点击Share按钮,IDEA 会自动帮我们创建和初始化远程库,并将本地库推送至远程库

IDEA集成Git、GitHub、Gitee_第40张图片

查看 GitHub 是否存在该仓库,以验证是否分享成功

IDEA集成Git、GitHub、Gitee_第41张图片

在分享过程中,可能会出现如下报错:成功创建远程仓库,但是初始化推送失败。这时就需要进行手动Push的操作了

 

2.3、Push 推送本地分支到远程库

IDEA集成Git、GitHub、Gitee_第42张图片

这里默认使用https协议进行推送,因为网络原因,很有可能推送失败

IDEA集成Git、GitHub、Gitee_第43张图片

这是可以修改远程连接方式,点击Define remote设置新的远程别名

IDEA集成Git、GitHub、Gitee_第44张图片

然后会弹出一个重新定义远程方式的界面,这里使用 SSH 协议的远程地址即可(注意:不要与原来的别名重复)

IDEA集成Git、GitHub、Gitee_第45张图片

点击OK后,可以重新选择远程别名,这里改为我们刚刚定义的 SSH 协议的别名:origin-ssh

IDEA集成Git、GitHub、Gitee_第46张图片

查看 GitHub 上历史版本修改内容,推送成功

注意push是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致, push的操作是会被拒绝的。也就是说,要想 push成功,一定要保证本地库的版本要比远程库的版本高!因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地代码的区别!如果本地的代码版本已经落后,切记要先拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!pull

2.4、Pull 拉取远程库到本地

首先先修改远程库代码,然后进行如下操作

IDEA集成Git、GitHub、Gitee_第47张图片

选择 SSH 协议的别名,点击Pull进行代码拉取

IDEA集成Git、GitHub、Gitee_第48张图片

查看本地库代码易发生变化,并且历史版本也有了相关记录,说明代码拉取成功

IDEA集成Git、GitHub、Gitee_第49张图片

 

2.5、Clone 克隆远程库到本地

关闭项目,在 IDEA 选择页面,点击Get From VCS

IDEA集成Git、GitHub、Gitee_第50张图片

填写需要克隆的远程仓库地址和本地仓库地址,点击Clone进行克隆

IDEA集成Git、GitHub、Gitee_第51张图片

等待克隆完成

IDEA集成Git、GitHub、Gitee_第52张图片

初次进入项目,会提示是否信任并打开此 Maven 工程,一般选择Trust Project

如果勾选Trust projects in xxx,则在此工作空间下所有新增项目都将被信任,不会再提示

IDEA集成Git、GitHub、Gitee_第53张图片

打开项目,确认Test.java内容无误,历史版本记录正常

IDEA集成Git、GitHub、Gitee_第54张图片

 

 

三、国内代码托管中心-码云Gitee

众所周知,GitHub 服务器在国外,使用 GitHub 作为项目托管网站,如果网速不好的话,严重影响使用体验,甚至会出现登录不上的情况。针对这个情况,大家也可以使用国内的项目托管网站-码云

码云是开源中国推出的基于 Git 的代码托管服务中心,网址是 Gitee - 企业级 DevOps 研发效能平台 ,使用方式跟 GitHub 一样,而且它还是一个中文网站,如果你英文不是很好它是最好的选择

 

3.1、创建远程库

IDEA集成Git、GitHub、Gitee_第55张图片

输入仓库名称,路径会自动与仓库名称保持一致,一般不改。选择开源,点击创建即可

IDEA集成Git、GitHub、Gitee_第56张图片

创建完毕会自动跳转到该项目界面,复制下列地址以备用

IDEA集成Git、GitHub、Gitee_第57张图片

 

3.2、删除远程库

打开项目管理仓库设置删除仓库,点击删除仓库

IDEA集成Git、GitHub、Gitee_第58张图片

输入确认信息,点击确认删除

IDEA集成Git、GitHub、Gitee_第59张图片

输入密码,进行二次确认,点击验证,即可删除成功

IDEA集成Git、GitHub、Gitee_第60张图片

 

3.3、IDEA 集成码云

首先安装 Gitee 的插件

IDEA集成Git、GitHub、Gitee_第61张图片

安装完成之后,点击Apply会刷新Settings选项,打开Version Control,多了一个Gitee选项

这里同样有两种方式,可以通过账号密码登录,也可以通过Token登录,操作同 IDEA 集成 GitHub

IDEA集成Git、GitHub、Gitee_第62张图片

输入完账号密码,点击Log In即可

IDEA集成Git、GitHub、Gitee_第63张图片

如果输入无误,便会在界面中展示账号信息,点击OK保存

IDEA集成Git、GitHub、Gitee_第64张图片

 

3.4、分享工程到 Gitee

IDEA集成Git、GitHub、Gitee_第65张图片

如果远程仓库已存在该名称的项目,则会提示存在同名仓库无法删除,需要先删除刚刚我们创建的git-test仓库

IDEA集成Git、GitHub、Gitee_第66张图片

提示分享成功

查看 Gitee,确认仓库创建成功并且推送成功

IDEA集成Git、GitHub、Gitee_第67张图片

 

3.5、推送本地分支到远程库

修改内容,可以在左侧导航栏Commit直接进行提交并推送

IDEA集成Git、GitHub、Gitee_第68张图片

同样可以自定义远程地址别名,点击Push进行推送

IDEA集成Git、GitHub、Gitee_第69张图片

查看 Gitee 仓库历史版本记录,确认推送成功

IDEA集成Git、GitHub、Gitee_第70张图片

 

3.6、拉取远程库到本地

直接在 Gitee 上修改Test.java内容后,IDEA 中进行Pull即可

IDEA集成Git、GitHub、Gitee_第71张图片

选择我们指定的别名和分支,点击Pull进行拉取

IDEA集成Git、GitHub、Gitee_第72张图片

查看Test.java即历史版本发生了变化,说明拉取成功

IDEA集成Git、GitHub、Gitee_第73张图片

 

3.7、克隆远程库到本地

IDEA集成Git、GitHub、Gitee_第74张图片

 

3.8、码云复制 GitHub 项目

导入仓库

点击从 GitHub / GitLab 导入仓库

IDEA集成Git、GitHub、Gitee_第75张图片

输入 GitHub 仓库地址,Gitee 会自动帮我们反填仓库名称及路径信息,修改为开源或私有,点击导入

IDEA集成Git、GitHub、Gitee_第76张图片

等待片刻

导入成功

IDEA集成Git、GitHub、Gitee_第77张图片

强制同步

如果后续该工程在 GitHub 上进行了修改,可以直接点击,刷新图标进行强制同步

需要注意的是强制更新会覆盖当前仓库,这里点击确认即可

IDEA集成Git、GitHub、Gitee_第78张图片

查看历史版本记录,确认同步成功

IDEA集成Git、GitHub、Gitee_第79张图片

 

 

四、自建代码托管平台 - GitLab

4.1、GitLab 简介

GitLab 是由 GitLabInc. 开发,使用 MIT 许可证的基于 网络的 Git 仓库管理工具,且具有 wiki 和 issue 跟踪功能。使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务

GitLab 由乌克兰程序员 DmitriyZaporozhets 和 ValerySizov 开发,它使用 Ruby 语言写成。后来,一些部分用 Go 语言重写。截止 2018 年 5 月,该公司约有 290 名团队成员,以及 2000 多名开源贡献者。GitLab 被 IBM,Sony,JülichResearchCenter,NASA,Alibaba,Invincea,O’ReillyMedia,Leibniz-Rechenzentrum(LRZ),CERN,SpaceX 等组织使用

 

4.2、GitLab 官网地址

  • 官网地址:The DevSecOps Platform | GitLab
  • 安装说明:404

 

4.3、GitLab 安装

服务器准备

准备一个系统为 CentOS7 以上版本的服务器,要求:内存 4G,磁盘 50G

关闭防火墙,并且配置好主机名和 IP,保证服务器可以上网

此教程使用虚拟机:主机名:gitlab-server IP 地址:192.168.6.200

安装包准备

Yum 在线安装 gitlab-ce 时,需要下载几百 M 的安装文件,非常耗时,所以最好提前把所需 RPM 包下载到本地,然后使用离线 rpm 的方式安装

下载地址:

  • gitlab - Repositories · packages.gitlab.com

注:资料里提供了此 rpm 包,直接将此包上传到服务器/opt/module目录下即可

编写安装脚本

安装 GitLab 步骤比较繁琐,因此我们可以参考官网编写 GitLab 的安装脚本

vim gitlab-install.sh

将下列脚本内容复制到创建的 gitlab-install.sh 文件中

sudo rpm -ivh /opt/module/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm
sudo yum install -y
curl policycoreutils-python openssh-server cronie
sudo lokkit -s http -s ssh
sudo yum install -y postfix
sudo service postfix start
sudo chkconfig postfix on
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlab-ce

给脚本增加执行权限

chmod +x gitlab-install.sh

执行脚本变绿,说明具备执行权限

IDEA集成Git、GitHub、Gitee_第80张图片

然后执行该脚本,开始安装 gitlab-ce。注意一定要保证服务器可以上网

./gitlab-install.sh

耐心等待片刻

脚本执行成功

IDEA集成Git、GitHub、Gitee_第81张图片

初始化 GitLab 服务

执行以下命令初始化 GitLab 服务

gitlab-ctl reconfigure

过程大概需要几分钟,耐心等待…

IDEA集成Git、GitHub、Gitee_第82张图片

出现gitlab Reconfigured!说明 GitLab 服务初始化成功

启动 GitLab 服务

执行以下命令启动 GitLab 服务

gitlab-ctl start

如需停止,执行

gitlab-ctl stop

服务启动成功

IDEA集成Git、GitHub、Gitee_第83张图片

使用浏览器访问 GitLab

使用主机名或者 IP 地址即可访问 GitLab 服务,使用主机名访问需要提前配置一下 windows 的 hosts 文件

IDEA集成Git、GitHub、Gitee_第84张图片

首次登陆之前,需要修改下 GitLab 提供的 root 账户的密码,要求 8 位以上,包含大小写子母和特殊符号。因此我们修改密码为 Atguigu.123456,然后使用修改后的密码登录 GitLab

IDEA集成Git、GitHub、Gitee_第85张图片

接下来,就可以用刚才修改的账号密码进行登录了

IDEA集成Git、GitHub、Gitee_第86张图片

登录成功

IDEA集成Git、GitHub、Gitee_第87张图片

GitLab 创建远程库

我这里以官网 GitLab 为例,官网地址:The DevSecOps Platform | GitLab

官网还提供了 GitLab 自身的项目源码:GitLab.org / GitLab · GitLab

IDEA集成Git、GitHub、Gitee_第88张图片

点击New project/repositoryCreate a project进行 GitLab 仓库的创建

IDEA集成Git、GitHub、Gitee_第89张图片

填写项目信息后,点击Create project即可

IDEA集成Git、GitHub、Gitee_第90张图片

创建成功

IDEA集成Git、GitHub、Gitee_第91张图片

IDEA 集成 GitLab

1)安装 GitLab 插件

2)设置 GitLab 插件

IDEA集成Git、GitHub、Gitee_第92张图片

出现相关信息,说明添加成功

IDEA集成Git、GitHub、Gitee_第93张图片

3)push 本地代码到 GitLab 远程库

我们首先添加一个远程库别名

点击GitManage Remotes

IDEA集成Git、GitHub、Gitee_第94张图片

点击+号,自定义一个远程别名及对应远程库地址,点击OK

IDEA集成Git、GitHub、Gitee_第95张图片

出现刚刚的记录,说明添加远程别名成功,点击OK

IDEA集成Git、GitHub、Gitee_第96张图片

只要 GitLab 的远程库连接定义好以后,对 GitLab 远程库进行 pull 和 clone 的操作和 Github、码云一致,此处不再赘述

你可能感兴趣的:(Git,git,github,intellij-idea)