在IDEA中集成Git去使用
- 通过Git命令可以完成Git相关操作,为了简化操作过程,我们可以在IDEA中配置Git,配置好后就可以在IDEA中通过图形化的方式来操作Git。
在IDEA开发工具中可以集成Git:
集成后在IDEA中可以看到Git相关图标:
1. 在IDEA中配置Git
- 在IDEA中使用Git,本质上还是使用的本地安装的Git软件,所以需要提前安装好Git并在IDEA中配置Git。
Git安装目录:
解释说明:
- gitk.exe:Git安装目录下的可执行文件,前面执行的git命令,其实就是执行的这个文件
IDEA中的配置:
- 首先关闭项目,找到Customize下的All settings:
1. 在IDEA当中去配置Git的安装目录
点击OK即可~!
2. 本地仓库操作
在IDEA中使用Git获取仓库有两种方式:
- 本地初始化仓库
- 从远程仓库克隆
2.1 本地初始化仓库
在IDEA中通过如下操作可以在本地初始化一个本地仓库,其实底层就是执行的 git init 命令。
操作过程如下:
1)依次选择菜单【VCS】---【Import into Version Control】---【Create Git Repository】
2)在弹出的【Create Git Repository】对话框中选择当前项目根目录,点击【OK】按钮:
操作完成后可以看到当前项目根目录下出现了.git隐藏目录:
2.2 从远程仓库克隆
在IDEA中从远程仓库克隆本质就是执行的 git clone 命令,具体操作过程如下:
1)在IDEA开始窗口中点击【Get from VCS】
2)在弹出的【Get from VCS】窗口中输入远程仓库的URL地址和对应的本地仓库存放目录,点击【Clone】按钮进行仓库克隆操作
3. Git忽略文件:.gitignore
在Git工作区中有一个特殊的文件 .gitignore,通过此文件可以指定工作区中的哪些文件不需要Git管理。
我们在码云上创建Git远程仓库时可以指定生成此文件,如下:
创建完成后效果如下:
解释说明:
- 我们在使用Git管理项目代码时,并不是所有文件都需要Git管理,例如Java项目中编译的.class文件、开发工具自带的配置文件等,这些文件没有必要交给Git管理,所以也就不需要提交到Git版本库中。
- 注意:忽略文件的名称是固定的,不能修改
- 添加到忽略列表中的文件后续Git工具就会忽略它
一个参考的.gitignore文件内容如下:
.git
logs
rebel.xml
target/
!.mvn/wrapper/maven-wrapper.jar
log.path_IS_UNDEFINED
.DS_Store
offline_user.md
*.class
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
4. 本地仓库操作
本地仓库操作:
- 将文件的修改加入暂存区,本质上就是执行git add命令
- 将暂存区当中的文件提交到版本库,本质上就是执行git commit命令
- 查看提交日志,本质上就是执行git log命令
4.1 将文件加入暂存区
当在Git工作区新增文件或者对已有文件修改后,就需要将文件的修改加入暂存区,具体操作如下:
- 但是,在IDEA当中这一步可以不做,它会自动操作,也就是说,你可以绕过添加暂存区这一步,直接提交!
4.2 将暂存区文件提交到版本库
- 将暂存区文件提交到版本库,可以选择一个文件进行提交,也可以选择整个项目提交多个文件。
- 在IDEA中对文件的提交进行了简化操作,也就是说如果文件修改后,无需再加入暂存区,可以直接提交。
1)提交一个文件:
可以看到,如果选中一个文件提交,则菜单名称为【Commit File...】
2)提交多个文件:
可以看到,如果提交多个文件,则菜单名称为【Commit Directory...】
由于提交操作属于高频操作,所以为了进一步方便操作,在IDEA的工具栏中提供了提交操作的快捷按钮:
注意:
- 我们交给Git进行版本控制的代码只需要传src源码以及必要的配置文件就可以了,其它的像target目录下的信息是不需要交给Git进行版本控制的,因为如果JDK版本一改变,那么你编译后的class文件内容不就变了,那不就是没用了。
- 上传到Git当中的代码只是源码!
.iml文件是IDEA的配置文件!
4.3 查看日志
- 查看日志,既可以查看整个仓库的提交日志,也可以查看某个文件的提交日志。
1)查看整个项目的提交日志:
2)查看某个文件的提交日志
注意:如果代码运行报错,千万别提交!
- 我们拉取项目后第一步就是切换分支,公司有分测试环境和生产环境等不同环境,这时候需要问同事该项目的测试环境是哪个分支,正常情况下测试分支是dev,生产环境是prod。
- commit提交代码后,该代码是还没有到我们的远程仓库的,只是提交到我们的本地库,我们还需要去push代码,如果只是提交了,没有push,这时候同事拉取代码是看不到你提交的代码的,因为你代码还没到远程仓库。
- Commit Message:这里写上备注,通常是写你这提交的文件是做什么的,什么内容。
- 接着勾选自己需要提交的文件即可。
- Push代码的意思是推送到远程仓库
- 每次push到远程仓库之前都先提交到本地仓库再说!
- 代码冲突时不要选择rebase(变基),因为那会将别人的代码给覆盖掉,但是merge不会。
5. 远程仓库操作
远程仓库操作:
- 查看远程仓库,本质上就是执行git remote命令
- 添加远程仓库,本质上就是执行git remote add命令
- 推送至远程仓库,本质上就是执行git push命令
- 从远程仓库拉取,本质上就是执行git pull命令
一个本地仓库就关联一个远程仓库!
项目(本地仓库)如何关联远程仓库?
看到下面整个提示说明推送成功:
通过IDEA从远程仓库去克隆:
或者关闭项目,点击Projects,点击Get from VCS,输入URL地址,点击Clone即可!
Directory表示克隆出来的代码往哪个目录或工程下面放!
5.1 查看远程仓库
操作过程如下:
在弹出的【Git Remotes】窗口中可以看到配置的远程仓库:
5.2 添加远程仓库
一个本地仓库可以配置多个远程仓库,在【Git Remotes】窗口中点击【+】来添加一个新的远程仓库:
【Update Project】 :从远程仓库拉取
6. 分支操作
- 各个分支之间是相互独立,相互隔离的!
分支操作:
- 查看分支,本质上就是执行git branch命令
- 创建分支,本质上就是执行git branch 分支名
- 切换分支,本质上就是执行git checkout
- 将分支推送到远程仓库,本质上就是执行git push
- 合并分支,本质上就是执行git merge命令
由于分支操作属于高频操作,所以在IDEA的状态栏中提供了分支操作的快捷按钮:
注意:分支合并时需要注意合并的方向!
- 合并分支是把指定分支合并到当前分支!