Git | 在IDEA中使用Git

目录
一、在IDEA中配置Git
1.1 配置Git
1.2 获取Git仓库
1.3 将本地项目推送到远程仓库
1.4 .gitignore文件的作用
二、本地仓库操作
2.1 将文件加入暂存区
2.2 将暂存区的文件提交到版本库
2.3 查看日志
三、远程仓库操作
3.1 查看和添加远程仓库
3.2 推送至远程仓库
3.3 从远程仓库拉取
五、分支操作
一、在IDEA中配置Git
1.1 配置Git
在IDEA中使用Git,本质上是使用安装在本地的git软件,(并不是使用远程仓库,或者说使用码云Gitee)。
打开IDEA,点击File -> Setting (快捷键是CTRL+alt+S),搜索Git并配置Git的安装目录

1.2 获取Git仓库
在IDEA中使用Git获取仓库的两种方式:
| 本地初始化仓库 | 从远程仓库克隆 |
| 相当于 git init 命令,其实就是把自己的项目变成一个git仓库,Create Git Repository | 相当于 git clone 命令,其实是把远程仓库的项目拷贝下来,Get From Version Control |
本地初始化仓库步骤:
(1)新建一个项目
这里以新建Maven项目为例,不知道如何新建Maven项目可以查看这篇文章,IDEA创建Maven项目

(2)将这个项目所在目录变成一个Git仓库,从而实现用Git管理这个项目



(3)创建好本地仓库后,IDEA中会出现几个Git操作的图标

从远程仓库克隆步骤:
从远程仓库获取是以后工作中用的更多的,因为当你进入到某家公司的时候,往往项目已经开发到一定阶段了,因此此时我们要做的就是从远程仓库获取项目。
(1)点击VCS,点击Get From Version Control
当使用IDEA新建项目并添加到本地仓库之后,有些版本的IDEA认为你已经使用了VCS,所以不会出现VCS了。
此时可以点击File -> New -> Project From Version Control进行从远程仓库克隆代码。

1.3 将本地项目推送到远程仓库
将本地项目推送到远程仓库时遇到的问题:
1.拒绝Push推送

这个报错的意思大概是,更新被拒绝是因为远程仓库的部分文件本地仓库没有,这通常发生在本地新建仓库之后第一次要推送到远程仓库时。
解决方案:
(1)先拉取远程仓库的分支(一般为master,origin一般指远程仓库的名字)
2.在Pull时遇到的问题-拒绝合并不相关的请求

出现这个问题的最主要原因是本地仓库和远程仓库实际上是两个独立的仓库。
解决方案:
点击IDEA中的命令提示符,输入下面的命令,执行即可。

git pull origin master --allow-unrelated-histories

(2)再次push

至此,将本地仓库的项目推送至远程仓库成功!
1.4 .gitignore文件的作用
.gitignore文件用于定义哪些文件不需要交给Git管理,文件名是固定的,不可修改。
(1).gitignore文件的生成
在创建远程仓库时,可以创建这个文件。

(2).gitignore对应的常用Java模板
# Compiled class file
*.class# Eclipse
.project
.classpath
.settings/# Intellij
*.ipr
*.iml
*.iws
.idea/# Maven
target/# Gradle
build
.gradle# Log file
*.log
log/# out
**/out/# Mac
.DS_Store# others
*.jar
*.war
*.zip
*.tar
*.tar.gz
*.pid
*.orig
temp/
二、本地仓库操作
2.1 将文件加入暂存区

此时如果要将文件加入暂存区,就是相当于 git add 这个命令,
未暂存的文件是红色,已暂存的文件是蓝色。
(1)可以点击IDEA中的这个按钮:

(2) 或者右击文件选择Add:

(3)IDEA设置版本控制工具自动Add

2.2 将暂存区的文件提交到版本库
这个操作相当于 git commit -m 这个命令,点击IDEA中的图标或者右击都可以提交。

2.3 查看日志
相当于 git log 这个命令,点击IDEA中的Git图标


三、远程仓库操作
3.1 查看和添加远程仓库


3.2 推送至远程仓库

3.3 从远程仓库拉取


五、分支操作
在IDEA中可以进行查看分支,创建分支,切换分支,推送分支到远程仓库,合并分支的操作。


切换分支时遇到的问题:
1.如果当前分支还有未提交的内容,即unchanges files
那么切换分支后当前分支未修改的内容会带到另外一个分支上去。
解决方案:
分支修改后要先提交再切换
2.切换分支后弹出提示 Workspace associated with branch 'master' has been restored
与分支“master”关联的工作区已恢复
解决方案:
暂不理会,x掉即可


至此,在IDEA中使用Git的入门教程就到此结束,
希望自己在这之后更能理解使用Git工具进行团队开发的意义和作用。
如果本篇文章对你有帮助,欢迎一键三连!
相关文章:
Git | 在IDEA中使用Git
目录 一、在IDEA中配置Git 1.1 配置Git 1.2 获取Git仓库 1.3 将本地项目推送到远程仓库 1.4 .gitignore文件的作用 二、本地仓库操作 2.1 将文件加入暂存区 2.2 将暂存区的文件提交到版本库 2.3 查看日志 三、远程仓库操作 3.1 查看和添加远程仓库 3.2 推送至远程仓…...
< Linux >:Linux 进程概念 (4)
目录 五、孤儿进程 六、进程优先级 6.1、基本概念 6.2、查看时实系统进程 6.3、PRI and NI 七、其他概念 四、X 状态:死亡状态 所谓进程处于 X 状态(死亡状态)代表的就是该进程已经死亡了,即操作系统可以随时回收它的资源(操作系统也可以…...
七、Java框架之MyBatisPlus
黑马课程 文章目录1. MyBatisPlus入门1.1 MyBatisPlus入门案例步骤1:创建spring boot工程步骤2:配置application.yml步骤3:创建数据库表(重点)步骤4:编写dao层步骤5:测试1.2 标准数据层开发标准…...
C语言柔性数组
目录什么是柔性数组柔性数组的使用什么是柔性数组 柔性数组是在C99中定义的 结构体的最后一个元素允许是未知大小的数组,这就叫柔性书组 柔性数组的长度可以写成0,也可以不规定数组长度 下面两种写法都是正确的 struct S { int i; int a[0];//柔性数…...
支付功能测试用例
Author:ChatGPT用例设计下面是一些支付功能测试用例:账户余额检查:测试用户的账户余额是否准确。支付方式选择:测试用户可以使用的支付方式,包括信用卡、借记卡、电子钱包等。支付金额确认:测试用户输入的支…...
牛客网Python篇数据分析习题(一)
1.现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔): Nowcoder_ID:用户ID Level:等级 Achievement_value:成就值 Num_of_exercise&a…...
【C语言】“指针类型”与“野指针”
文章目录一、指针是什么❔二、指针和指针类型1.指针-整数2.指针解引用三.野指针1.引起野指针的原因2.如果避免野指针完结一、指针是什么❔ 指针也就是 内存地址 ,在计算机上我们访问数据需要通过内存地址来访问,在C语言中,指针变量是用来存放…...
Linux:软链接和硬链接的理解
Linux通过命令行创建快捷方式使用的命令是ln,这里就涉及到了软链接和硬链接,确实有些不好理解,如果你也一样,那么可以继续看下去了 目录ln命令语法实操创建软链接:ln -s [源文件或目录][目标文件或目录]创建硬链接&…...
力扣HOT100 (1-5)
目录 1.两数之和 2.两数相加 拓展到牛客的TOP101的BM11( 链表相加(二)) 3.无重复的最长子串(牛客BM92) 解法1: 解法2: 4.寻找两个正序数组的中位数 5.最长回文子串 1.两数之和 思路:用Has…...
车载基础软件——AUTOSAR CP典型应用案例SOME/IP和TSN时间同步
我是穿拖鞋的汉子,魔都中坚持长期主义的一个屌丝工程师! 今天是2023年2月7日,上海还在下着雨,估计是到了梅雨时节(提前到来?),真想说句我劝天公重安排,不让梅雨早时来!!! 老规矩分享一段喜欢的文字,避免自己成为高知识低文化的工科男: “ 我们只需做的,是走好…...
【Linux】操作系统与进程的概念
目录 冯诺依曼体系 注意 为什么CPU不直接访问输入或输出设备? 跨主机间数据的传递 操作系统 管理 进程 描述进程 进程的查看和终止 bash 通过系统调用创建子进程 fork的辨析 冯诺依曼体系 🥖冯诺依曼结构也称普林斯顿结构,是一种将…...
(1分钟突击面试) 高斯牛顿、LM、Dogleg后端优化算法
高斯牛顿法 LM法 DogLeg方法编辑切换为居中添加图片注释,不超过 140 字(可选)知识点:高斯牛顿是线搜索方法 LM方法是信赖域方法。编辑切换为居中添加图片注释,不超过 140 字(可选)这个就是JTJ是…...
d3.js与echarts对比
D3.js 和 ECharts 是两种常用的数据可视化工具,它们有着不同的优缺点: D3.js: 优点: 功能强大,提供了极高的灵活性和定制性,支持多种图表类型,如柱状图、饼图、散点图、树图、网络图等。 可以…...
机器学习之K-means原理详解、公式推导、简单实例(python实现,sklearn调包)
目录1. 聚类原理1.1. 无监督与聚类1.2. K均值算法2. 公式推导2.1. 距离2.2. 最小平方误差3. 实例3.1. python实现3.2. sklearn实现4. 运行(可直接食用)1. 聚类原理 1.1. 无监督与聚类 在这部分我今天主要介绍K均值聚类算法,在这之前我想提一…...
OBS 进阶 一个从自定义对话框中 传参到插件的例子
目录 一、自定义对话框,传参综合例子 1、自定义对话框 1)自定义对话框类...
在Linux和Windows上编译datax-web-ui源码
记录:375场景:在CentOS 7.9操作系统上,使用apache-maven-3.8.7安装编译datax-web-ui源码。在Windows上操作系统上,使用apache-maven-3.8.7编译datax-web-ui源码。版本:JDK 1.8 node-v14.17.3 npm-6.14.13datax-web-ui开…...
React组件生命周期管理
组件生命,就是组件在不同阶段提供对应的钩子函数,来处理逻辑操作。比如初始化阶段,我们需要初始化组件相关的状态和变量。组件销毁阶段时,我们需要把一些数据结构销毁来节约内存。 React组件生命周期 React组件生命周期分为三个阶段:挂载阶段【Mount】、更新阶段【Updat…...
Linux:全志H3图像codec使用笔记
1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 2. 图像 codec 概述 图像编解码器(codec) 包含 Encoder 和 Decoder 两部分功能。我们用下列分别说明 Encoder 和 Decoder 的工作方式。 ----------…...
【Python小游戏】通过这款专为程序员设计的《极限车神》小游戏,你的打字速度可以赢过专业录入员,这个秘密98%的人都不知道哦~(爆赞)
导语 哈喽,我是你们的木木子👸! 今天小编要为大家介绍一款小编自己用代码码出来的赛车风格的打字小游戏 取名暂定为《🚗极限车神🚗》打字小游戏。 这款Pygame小游戏在玩法上可以说十分创新,不仅能游戏还…...
Springboot扩展点之BeanPostProcessor
前言 Springboot(Spring)的扩展点其实有很多,但是都有一个共同点,都是围绕着Bean和BeanFactory(容器)展开的,其实这也很好理解,Spring的核心是控制反转、依赖注入、面向切面编程&…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...
消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...
6.9-QT模拟计算器
源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...
