首页 > 其他分享 >8、IDEA集成Git

8、IDEA集成Git

时间:2024-07-05 20:30:34浏览次数:19  
标签:集成 文件 Git IDEA 提交 所示 如上图 分支

8.1、配置Git忽略文件

8.1.1、忽略文件的原因

在使用 IDE 工具时,会自动生成一些和项目源码无关的文件,所以可以让 Git 忽略这些文件。

此外,把这些无关文件忽略掉,还能够屏蔽不同 IDE 工具之间的差异。

8.1.2、创建忽略规则文件

image

如上图所示,在用户家目录下创建了一个忽略规则文件 git.ignore(前缀名随便起,后缀必须是 .ignore,推荐命名为 git.ignore)。

实际上,这个忽略规则文件在任意位置创建都可以,但为了方便让 ~/.gitconfig 文件引用,推荐放在用户家目录下。

# 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

8.1.3、引用忽略规则文件

image

如上图所示,在 .gitconfig 文件(该文件的来源见 3.2节 )中,引用(刚创建的)一个忽略规则文件。

git config --global core.excludesfile 忽略规则文件路径/git.ignore

注意:所引用的文件路径分隔符,要使用“正斜线(/)”,不要使用“反斜线(\)”。
此外,必须使用执行命令的形式来设置引用文件,直接在 .gitconfig 文件中编辑文本内容会导致引用失败,出现下面的警告:
warning: unable to access '‪C:/Users/liaojy/git.ignore': Invalid argument

8.2、定位Git程序

8.2.1、使用IDEA创建一个项目

image

如上图所示,创建一个新项目。

image

如上图所示,该新项目是一个 maven 项目。

image

如上图所示,该项目的名称设置为 git-test 。

image

如上图所示,设置该项目所在的路径。

8.2.2、选择本地已安装的Git程序

image

如上图所示,打开IDEA的 Settings(设置)界面。

image

如上图所示,在 Settings(设置)界面中,找到 Git 的设置界面。

image

如上图所示,选择了一个本地已安装的Git程序,并且测试该 Git 程序是正常的。

8.3、初始化本地库

8.3.1、查看项目的文件夹

image

如上图所示,右击项目名,然后点击“Show in Explore”,便能查看项目的文件夹。

image

如上图所示,在项目的文件夹中,并没有“.git”子文件夹,说明该项目还没有被 Git 所管理到。

8.3.2、使用IDEA初始化本地库

image

如上图所示,在 VCS(Version Control Settings)菜单中点击“Create Git Repository”选项。

image

在“Create Git Repository”弹窗中,会默认选中当前项目,此时只需要点击“OK”,即可将该项目初始化为 Git 本地库。

8.3.3、确认初始化本地库已成功

image

如上图所示,在项目的文件夹中,已存在“.git”子文件夹,说明该项目已成功被 Git 所管理到。

注意:如果 8.1 节的忽略规则文件的配置操作是成功的话,在“.diea”目录中是没有".gitignore"的;
否则,IDEA 会在“.diea”目录中,自动生成一个该项目的忽略规则配置文件".gitignore",在这个文件中也可以配置要 Git 忽略的文件。

image

如上图所示,文件名是红色,说明该文件已被 Git 检测到,但是还没被 Git 追踪(即该文件还没被添加到暂存区)。

8.4、添加到暂存区

注意:必须先初始化本地库后,才能将文件添加到暂存区。

8.4.1、将某个文件添加到暂存区

image

如上图所示,右击要添加到暂存区的文件,在菜单栏里选择“Git”->“+Add”,即可将该文件添加到暂存区。

image

如上图所示,将“pom.xml”文件添加到暂存区后,颜色变成了绿色,即说明该文件已成功被 Git 追踪,但还没有被提交到本地库。

注意:如果默认的文件状态颜色区分不明显,可以在“Settings”中自定义设置文件状态的颜色:
image

8.4.2、创建一个文件

image

如上图所示,新创建了一个Java文件“GitTest”,此时 Idea 便会自动弹窗提示是否将这个新创建的文件加入暂存区。

注意:本例出于演示需要,点击了“Cancel”;在实际情况中,点击“Add”即可。

image

如上图所示,虽然该 Java 文件还没加入暂存区,但是并不影响其编译运行使用。

注意:如果在编译运行时报错“Error:java: 错误: 不支持发行版本 5”,请参考该解决方案

8.4.3、将整个项目添加到暂存区

image

如上图所示,右击要添加到暂存区的项目,在菜单栏里选择“Git”->“+Add”,即可将该项目所有文件(忽略文件除外)添加到暂存区。

image

如上图所示,将整个项目添加到暂存区后,该项目所有文件(忽略文件除外)的颜色变成了绿色,即说明这些文件已成功被 Git 追踪,但还没有被提交到本地库。

8.5、提交到本地库

注意:必须先将文件添加到暂存区后,才能将文件提交到本地库。

8.5.1、第一次提交

image

如上图所示,右击要提交到本地库的项目,在菜单栏里选择“Git”->“Commit Directory”,即可将该项目所有(已添加到暂存区的)文件提交到本地库。

image

如上图所示,在提交弹窗中,可以看到将要提交到本地库的文件有哪些,点击该文件还能看到具体内容。

在“Commit Message”中填写提交信息,然后点击“Commit”按钮,即可完成提交到本地库的操作。

image

如上图所示,当文件被提交到本地库后,文件的颜色恢复为最原始的黑色。

8.5.2、第二次提交

image

如上图所示,已被 Git 追踪过的文件,经过修改内容后,文件颜色会变成蓝色。

image

如上图所示,因为项目所有的文件在之前已被追踪过,所以可以将修改直接提交到本地库。

image

如上图所示,在提交弹窗中,可以看到将要提交到本地库的文件有哪些变化。

在“Commit Message”中填写提交信息,然后点击“Commit”按钮,即可完成提交到本地库的操作。

image

如上图所示,当修改后的文件被提交到本地库后,文件的颜色恢复为最原始的黑色。

8.5.3、第三次提交

image

如上图所示,已被 Git 追踪过的文件,经过修改内容后,文件颜色会变成蓝色。

image

如上图所示,因为项目所有的文件在之前已被追踪过,所以可以将修改直接提交到本地库。

image

如上图所示,在提交弹窗中,可以看到将要提交到本地库的文件有哪些变化。

在“Commit Message”中填写提交信息,然后点击“Commit”按钮,即可完成提交到本地库的操作。

image

如上图所示,当修改后的文件被提交到本地库后,文件的颜色恢复为最原始的黑色。

8.6、切换版本

8.6.1、查看提交版本信息

image

如上图所示,在 IDEA 底部的 “Version Control”->“Log”界面中,便可看到所有提交的列表,每次提交涉及到了哪些文件。

此外,还能看到分支指向哪个提交版本,HEAD 指针指向哪个分支。

在本例中,HEAD 指针指向 master 分支,master 分支指向第三次提交版本;因此工作区显示的是第三次提交的版本内容。

8.6.2、切换到其他的提交版本

image

如上图所示,右击要切换到的提交版本,再点击“ Checkout Revision '版本号' ”,即可切换到该版本。

image

如上图所示,点击切换版本后,IDEA 会在该版本创建一个临时匿名分支,HEAD 指针指向该临时匿名分支;因此工作区显示的是该版本的内容。

8.6.3、切换回原来的maser分支版本

image

如上图所示,右击 master 分支指向的提交版本,再点击“Checkout”->“master”,即可切换回原来的maser分支版本。

image

如上图所示,切换回原来的maser分支版本后,HEAD 指针指向 master 分支,master 分支指向第三次提交版本;因此工作区显示的是第三次提交的版本内容。

注意:切换回原来的maser分支版本后,之前 IDEA 为其他版本创建(仅供回看目的)的临时匿名分支会被自动删除。

8.7、创建分支

8.7.1、方式一

image

如上图所示,右击要创建分支的项目,在菜单栏里选择“Git”->“Repository”->“Branches”,即可打开分支操作的弹窗。

image

如上图所示,在分支操作的弹窗中,可以选择执行三个操作:New Branch(创建新分支)、Checkout Tag or Revision(切换到其他分支)、Local Branches Rename(对分支重命名)。

注意:后续操作请参考方式二的。

8.7.2、方式二

image

如上图所示,IDEA 右下角有当前 Git 分支的名称,点击即可打开分支操作的弹窗。

image

如上图所示,在创建新分支的弹窗中,输入新分支的名称(本例为 hot-fix ,即热修复的意思),点击 OK 即可创建一个新分支。

“Checkout Branch”复选框是默认选中的,意思是创建新分支后,自动切换到新分支。

image

如上图所示,创建新分支成功后,IDEA 右下角当前 Git 分支名称是新分支的名称,且新分支和 master 分支指向了同样的提交版本。

8.8、切换分支

image

如上图所示,在分支操作的弹窗中,选中要切换到的分支名称,然后点击“Checkout”即可切换到该分支。

image

如上图所示,已成功切换到 master 分支。

8.9、正常合并分支

8.9.1、在hot-fix分支新增内容

image

如上图所示,在 hot-fix 分支中,新增了一行内容;经过修改内容后,文件颜色会变成蓝色。

8.9.2、提交hot-fix分支的新增内容

image

image

如上图所示,多了一个提交版本,且 hot-fix 分支指向该提交版本。

8.9.3、切换到master分支

image

如上图所示,HEAD 指向了 master 分支,表示现在切换到了 master 分支,这时在工作区已看不到 hot-fix 分支已提交的新增内容。

8.9.4、合并hot-fix分支到当前分支

image

如上图所示,点击 IDEA 右下角当前 Git 分支名称,选择要合并的分支名称(本例为 hot-fix ),然后点击“Merge into Current”,即可将 hot-fix 分支合并到当前分支(本例为 master )。

image

如上图所示,如果内容没有冲突,分支直接合并成功,分支合并成功以后,会自动提交,无需再手动提交到本地库。

8.10、冲突合并分支

8.10.1、在hot-fix分支新增内容

image

如上图所示,在 hot-fix 分支中,新增了一行内容;经过修改内容后,文件颜色会变成蓝色。

8.10.2、提交hot-fix分支的新增内容

image

image

如上图所示,多了一个提交版本,且 hot-fix 分支指向该提交版本。

8.10.3、在master分支新增内容

image

如上图所示,切换到 master 分支中,新增了一行内容;经过修改内容后,文件颜色会变成蓝色。

8.10.4、提交master分支的新增内容

image

image

如上图所示,又多了一个提交版本,且 master 分支指向该提交版本。

注意:此时 hot-fix 分支和 master 分支分别对同一行做出了不同的修改。

8.10.5、合并hot-fix分支到当前分支

image

如上图所示,点击 IDEA 右下角当前 Git 分支名称,选择要合并的分支名称(本例为 hot-fix ),然后点击“Merge into Current”,即可将 hot-fix 分支合并到当前分支(本例为 master )。

image

如上图所示,因为 hot-fix 分支和 master 分支分别对同一行做出了不同的修改,合并分支时,IDEA 不知道选择使用哪个分支的修改是正确的。

因此,需要手动处理 hot-fix 分支和 master 分支,存在冲突的内容。

8.10.6、解决合并冲突

image

如上图所示,在手动合并的弹窗中,左侧是 master 分支的内容,右侧是 hot-fix 分支的内容,中间是手动合并结果的内容。

左右两侧还有操作按钮:“X”、“>>”和“<<”;“X”表示不将这行冲突内容合并到结果内容中,“>>”和“<<”表示将这行冲突内容合并到结果内容中。

image

如上图所示,先后点击了“>>”和“<<”操作按钮,两个分支的冲突内容也按顺序地合并到结果内容中了。

此外,还出现了一个提示,表示冲突内容已被处理,可以完成合并;这时点击“Apply”按钮即可完成手动合并冲突的操作。

image

如上图所示,合并冲突已解决,且自动提交到了本地库。

标签:集成,文件,Git,IDEA,提交,所示,如上图,分支
From: https://www.cnblogs.com/Javaer1995/p/18203196

相关文章

  • IDEA运行时报错:Application Server was not connected before run configuration stop
    求求了,有没有大佬能看到呀,马上就考试了,运行不出来真的好烦躁无力呀,我在CSDN上看到了好多解决方法,但是我用过之后依旧没能解决。这是我的tomcat和jdk版本,版本应该没有问题吧,这也是老师发给我们的版本这是我的环境变量的配置; 这是我的tomca,jdk,以及IDEA的地址;  求......
  • IDEA导入依赖+Maven配置
    Maven安装及配置安装安装链接:https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/注:建议不要直接安装最新版本,选用常用、稳定的版本安装即可,比如:3.6.3配置1>配置bash_profile文件终端输入:vi~/.bash_profile进入插入模式后插入以下内容,再保存退出:#Se......
  • 模拟集成电路设计系列博客——9.3 采样保持电路
    模拟集成电路设计9.3采样保持电路采样保持电路是集成电路中的一个重要组件,尤其是在数据转换器中。在许多情况下,使用采样保持(在数据转换器的前端)可以大大减少由于转换器内部操作中的延迟时间略有不同而导致的误差。采样保持电路的一种最简单的实现方式如下图所示,当\(\phi_{clk}......
  • 2023年Idea最新激活
     如果过期了,去下面小程序:   IntellijIDEA(简称IDEA)是Java语言的集成开发环境,在业界公认为是一款优秀的Java开发工具。分为Community社区版(免费)和Untimate终极版(付费)。IDEA是一款智能编译器。它可以进行智能代码补全、提供问题工具窗口、代码上下文检查操作、实......
  • 2024年idea系列激活码(持续更新)
      如果过期了,去下面小程序:   IntellijIDEA(简称IDEA)是Java语言的集成开发环境,在业界公认为是一款优秀的Java开发工具。分为Community社区版(免费)和Untimate终极版(付费)。IDEA是一款智能编译器。它可以进行智能代码补全、提供问题工具窗口、代码上下文检查操作、......
  • centos git 如何升级 版本
    今天突然centos服务器的git不正常了。error:RPcfailed;result=22,HTTPcode=422fatal:Theremoteendhungupunexpectedly在CentOS上升级Git版本,可以通过多种方法实现,包括使用Yum包管理器、源码编译安装等。以下是详细的步骤说明:一、使用Yum包管理器升级(如果官方仓库中有......
  • Git 的使用
    1.目标了解Git基本概念能够概述git工作流程能够使用Git常用命令【会】熟悉Git代码托管服务能够使用idea操作git【会】2.什么是版本控制器版本控制(Revisioncontrol)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以......
  • 【中项第三版】系统集成项目管理工程师 | 第 3 章 信息技术服务
    前言第3章对应的内容大概率仅考察选择题,案例大纲中有要求,但是考的概率不是很大,通读教程,速战速决。选择题分值预计在3分。目录3.1内涵与外延3.1.1服务的特征3.1.2IT服务的内涵3.1.3IT服务的外延3.1.4IT服务业的特征3.2原理与组成3.2.1IT服务原理3.2.2组成要素......
  • git报错error: failed to push some refs to xxx
    最近在学习git的使用,发现一个本地库同步远程库的问题,先看报错截图:事情经过是,我在自己电脑里创建了一个本地库,在gitee上也创建了一个仓库,我想将我的本地库同步到gitee上的远程,但是却出现了上面的报错。下面是一些前置操作。[email protected]:id7729/git_t......
  • Flask 集成sqlalchemy
    Flask集成sqlalchemy一、ORM框架介绍1.框架概述SQLAlchemy类型:企业级ORM框架。特点:功能强大,使用广泛,支持多种数据库后端。适用性:可用于各种PythonWeb框架,包括Flask和FastAPI。Python界的ORM框架DjangoORM:专为Django框架设计,不适用于其他框架。Peewee:小......