IDEA 集成 Git
环境准备
配置 Git 忽略文件
与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差异。例如,Maven工程根据src生成的target。
创建忽略规则文件 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
在.gitconfig 文件中引用忽略配置文件(此文件在 Windows 的家目录中)
[user]
name = Layne
email = Layne@atguigu.com
[core]
excludesfile = C:/Users/asus/git.ignore
注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)”
在IDEA配置Git程序
在菜单栏File->Setting->搜索栏搜Git,配置Git的安装路径。
初始化&添加&提交
先创建一个名叫HelloGit的Maven工程。
初始化Git
在菜单栏VCS -> Import into Version Control -> Create Git Repository
选择要创建 Git 本地仓库的工程,也就是HelloGit工程,然后添加OK。
添加到暂存区
创建一个HelloGit类,将其添加Git暂存区。
右键点击HelloGit类,选择Git->Add。可以右键点击HelloGit,更大范围地添加文件到暂存区。
添加成功后,文件名会从红色变成绿色。
提交至本地库
右键点击HelloGit,选择Git->Commit Directory。
添加注释后提交:
添加成功后,后台打印相关信息。
切换版本
在 IDEA 的左下角,点击 Git,然后点击 Log 查看版本
右键选择要切换的版本,然后在菜单里点击 Checkout Revision。
创建分支&切换分支
创建分支
右键点击HelloGit,Git -> Repository -> Branches,或者点击IDEA的右下角,如图红圈所示部位:
选中基于的分支点击New Branch:
创建新分支:
切换分支
跟创建分支步骤相似,如点击IDEA的右下角(它显示项目正处在那条分支),如图红圈所示部位,选择你想要切换的分支,然后checkout:
或者在log窗口,右键点击分支,选择checkout:
合并分支(正常合并)
先在hot-fix分支修改HelloGit类,并将其提交
然后切换到master分支,右下角的hot-fix会变为master:
然后,点击IDEA 窗口的右下角的master,将 hot-fix 分支合并到当前 master 分支。选择hot-fix->Merge into Current
如果代码没有冲突, 分支直接合并成功,分支合并成功以后,代码自动提交,无需手动提交本地库。
合并分支(冲突合并)
分别在master,hot-fix分支修改HelloGit类同一行,并提交,故意制作冲突:
切换到master分支,将hot-fix的合并到master分支:
冲突产生,需要人工解决:
代码冲突解决,将代码提交本地库后,如图所示:
连接github
在菜单栏File->Setting->搜索栏搜GitHub,添加GitHub账号:
由于网络问题,会时常登陆不了:
解决方法:可通过Token登陆。
登陆Github网站,获取Token
settings ——> Develpoer settings ——> Personal access tokens
将生成的token用来IDEA登录。
分享项目到GitHub
推送代码到远程库
注意: push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,
push 的操作是会被拒绝的。也就是说, 要想 push 成功,一定要保证本地库的版本要比远程库的版本高! 因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地代码的区别!如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!
拉取远程库代码合并本地库
右键点击项目,可以将远程仓库的内容 pull 到本地仓库。
注意: pull 是拉取远端仓库代码到本地,如果远程库代码和本地库代码不一致,会自动合并,如果自动合并失败,还会涉及到手动解决冲突的问题。
克隆代码到本地
在菜单栏的File->Close Project->Get from Version Control。
或者在菜单栏VCS->Get from Version Control。