idea集成Git和Github
环境准备
- 配置忽略文件
目的:部分文件与项目的实际功能无关(如idea生成的一些文件),不参与服务器上部署运行,把它们忽略掉能够屏蔽IDE工具之间的差异。
**目前idea新建项目时会自带一个忽略文件,不用手动配置了,可以跳过这一步。**
- 创建忽略规则文件
xxx.ignore
(前缀名随便,建议为git.ignore
),存放位置原则上哪里都可以,但为便于引用,建议放在用户目录下。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
*.rarhs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml
- 引用忽略文件打开
.gitconfig
文件(该文件同样在用户目录下),加入以下信息:[core] excludesfile = C:/Users/chenweisong/git.ignore
请将 = 后的目录换成你的
git.ignore
文件地址。注:此处的目录必须使用正斜线(/
),不能用反斜线(\
)。 -
在idea中进行Git操作
- 在idea中初始化本地库(相当于git bash中的
git init
)
依次选择VCS->Create Git Repository
(部分版本idea可能为VCS->Import into Version Control->Create Git Repository
)
点击后默认已选择当然项目目录,点击OK即可。
此时已在你的项目目录下生成.git
隐藏目录,证明初始化完成。初始化完成后,在idea中显示红色的文件代表未添加到暂存区文件,绿色代表未提交到本地库文件。 - 添加暂存区、提交本地库
代码测试:新建一个类,在main方法中输出"hello git"
添加到暂存区:右键项目(或选择单个文件)->Git->Add
提交到本地库:同上,在Git中选择Commit Directory
,填写提交描述(同git bash
中-m"xxx"
中的xxx描述),填写后提交即可。 - 版本切换
我们在刚才的代码中,再输出一句"hello git2"
,然后按刚才的方法提交到本地库,提交描述为 “commit 2”,这是我们的第二个版本。
同理,再修改代码,增加一行输出"hello git3"
,提交到本地库,提交描述为“commit 3”,这是我们的第三个版本。
完成后,想切换到之前的第一第二个版本,可在下方点击Git,在log中可看到我们的版本历史。(部分版本idea为在下方直接点击log)
在版本历史这里可看到有两个黄绿小标签,黄色标签所指示版本代表提交的最新版本,绿色标签所指示版本代表当前idea中所显示的版本。
我们可以右键某个版本,选择Checkout Revision '....'
切换到之前的版本,切换后代码已发生变化。 - 分支
- 创建分支
右键项目->Git->Branches->new branch
(或右键项目->Git->new branch
)
或者在屏幕右下角也可以创建分支,查看分支 - 切换分支
点击右下角分支名字->选中你要切换的分支->checkout
- 合并分支(正常合并)
我们在另一个分支hot-fix
上,增加一行代码,输出"hello git4"
,然后把hox-fix
分支提交(commit)到本地,尝试把hot-fix
分支合并到master
分支上。
首先要回到master
分支上,在master
分支上点击右下角,选中hot-fix
分支,在左边选择Merge Selected into Current
即可把hot-fix
分支合并到master
分支上
可以看到已经合并成功,master
分支上也有"hello git4"
的输出语句。 - 合并分支(合并冲突)
在master
分支上,增加一行代码,输出"master test"
,并提交本地库,同样的,在hot-fix
分支上,增加一行代码,输出"hot-fix test"
,提交到本地库,然后切回master分支,尝试把hot-fix
分支合并到master
分支上。
刚才刚才的合并方法进行操作,我们看到出现了合并冲突,点击Merge进行手动合并
在手动合并的对话框中,左边是master
分支内容,右边是hot-fix
分支内容,中间是合并后的内容。我们可以通过点击冲突代码旁边的× 《 》
符号,选择合并时是否增加这行代码或者不要这行代码。我们可以选择两行代码都要,然后点击apply即可完成手动合并。
- 创建分支
idea集成Github
- 设置github账号
打开setting->Version Control->Github
如果没有Github这个选项,可以去插件里下载一个github插件。
然后点击+号,有两种登录方式,第一种是账号密码登录,第二种是口令登录。这里我们使用账号密码登录。
点击后会直接跳转到网页端快速完成登录(部分版本idea需要输入账号密码登录,可能会出现连接不上的情况,这时候可以试试口令登录,此处不介绍)。 - 分享项目到github
点击上方git->github->share project on github
点击share分享到github。分享后会在GitHub上自动创建仓库,并把代码push到仓库中。 - Push到GitHub
点击上方git->push
,可以push到远程库中
我们可以使用SSH链接进行push,点击刚才创建的别名,再选择Define remote,然后在url中输入远程库的SSH链接即可。
然后点击Push即可完成。 - 从GitHub pull到本地
方法同push差不多,点击上方git->pull
即可 - push 和 pull 注意:
从本地push到远程库时,请保证本地的代码版本高于远程库,否则无法push。因此我们修改本地代码前,先从远程库pull代码到本地,再进行修改并push到远程库。
从远程库pull到本地时,如果本地和远程库代码不一致,会自动合并,合并冲突时,需要手动合并。 - 克隆代码到本地
打开idea时,右上角选择Get from VCS
,然后输入url链接即可。