Git的安装和配置(idea中配置Git)

一、Git的下载和安装 

前提条件:IntelliJ IDEA 版本是2023.3 ,那么配置 Git 时推荐使用 Git 2.40.x 或更高版本

下载地址:CNPM Binaries Mirror

操作:打开链接 → 滚动到页面底部 → 选择2.40.x或更高版本的 .exe 文件(如 Git-2.41.0.3-64-bit.exe)下载 

1、选择一个2.40.x或更高的版本

2、点击后缀名为 64-bit.exe 即可

3、安装Git只需要双击软件包然后一直下一步 即可

 4、在D盘或其他盘  新建一个目录(目录名称确保是英文)

 注意目录的名称是英文(名称随意)

5、一直点击next 即可 

6、鼠标右键   出现了如下图两个指令那么就是安装成功了

Open Git GUl here:图形化操作界面

Open Git Bash here:Unix/Linux风格的命令行,使用多,推荐


二、Git常用命令的使用

文档地址:Git 大全 - Gitee.com

常用指令示意图:

1、配置用户名和邮箱

(1)鼠标右键并点击Open Git Bash here

(2)使用下面命令:查看配置信息

git config -l

 如图我之前配置好的用户名和邮箱

(3)使用下面的命令配置用户信息 (注意是填自己的用户信息)

git config --global user.name "dhp"
git config --global user.email "dhp041011@qq.com"

 (4)配置完后继续使用命令查看


2、查看配置信息的命令:

查看所有配置:

git config -l

查看系统配置:

git config --system --list

查看当前用户配置:

git config --global --list

 3、创建全新的本地仓库

(1)在G盘新建一个文件夹(名称要求是英文)

(2) 进入新创建的目录,鼠标右键并点击Open Git Bash here

(3)输入命令:git init  即可

git init

进入.git文件后就可以看见 所有的信息


4、克隆远程仓库

克隆远程仓库相当于实现创建了一个本地的仓库

(1)在G盘新建一个文件夹(名称要求是英文)

(2)在gitee/github上找一个开源项目地址

如果没有账号那么就先注册

随便搜一个java项目 

直接复制这个带命令的地址 

 (3) 进入新创建的目录,鼠标右键并点击Open Git Bash here

(4)将复制的命令粘贴到终端执行即可 

git clone 


5、文件操作指令

版本控制就是对文件的版本控制,在Git管理中,文件被统一管理,有四个状态 

1.Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制。通过git add 状态变为Staged

2.Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种处理方式,如果它被修改,变为Modified.如果使用git rm移出版本库,则成为Untracked

3.Modified:文件已修改,仅仅是修改,并没有进行其他的操作,这种文件有两个去处,通过git add可进入暂存staged状态,使用git checkout 则丢弃修改过,返回到unmodify状态,这个git checkout即从库中取出文件,覆盖当前修改

4.Staged: 暂存状态,执行git commit则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodify状态.执行git reset HEAD filename取消暂存,文件状态为Modified

(1)在克隆的本地仓库中新建一个文本文件作为测试 (名称随意例如 a.txt)

 (2)鼠标右键并点击Open Git Bash here进入终端

(3)使用pwd查看当前所在目录,使用git status 文件名 查看文件的状态

git的命令和Linux的常用命令是相同的,因为发明者是同一个人

git status 文件名

查看所有文件的状态:

git status

(4) 使用git add .  将所有文件添加到暂存区

git add .
# 添加指定文件到暂存区
$ git add [file1] [file2] ...

(5)提交暂存区中的内容到本地仓库:git  commit -m '消息内容'

git commit -m [message]


三、gitignore忽略文件 

不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等,在主目录下建立".gitignore"文件(默认就有),此文件有如下规则:

1.忽略文件中的空行或以井号(#)开始的行

2.支持Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2.….})代表可选的字符串等。

3.如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。

4.如果名称的最前面是一个路径分隔符(/),表示忽略.gitignore文件所在的目录,不包括其任何子目录 中的dir日录

5.如果名称的最后面是一个路径分隔符(/),忽略 .gitignore文件所在的目录和所有子目录的dir目录


四、创建自己的远程仓库

(1)进入gitee官网  工作台 - Gitee.com   点击新建仓库

(2)填写相关信息 

(3)点击创建即可 

如下图:这样就创建好了 

扩展: 

readme.md文件是一个该项目的介绍文件

如果想修改readme.md文件可以直接点击链接

点击编辑就可以修改 

点击管理可以修改一些配置信息 


五、设置SSH公钥实现免密登录

(1)找到.ssh文件夹

.ssh 文件夹默认位于 用户主目录 下,具体路径因操作系统而异:

  1. Windows 系统
    • 路径:C:\Users\你的用户名\.ssh
    • 特性:默认隐藏,需在文件资源管理器中启用「隐藏的项目」显示 。
  2. Mac/Linux 系统
    • 路径:~/.ssh/(即 /home/你的用户名/.ssh
    • 特性:直接通过终端访问(如 cd ~/.ssh) 。

注意:.ssh 文件夹通常在使用 SSH 命令(如 ssh-keygen)生成密钥时自动创建。若未执行过相关操作,文件夹可能不存在 。(如果没有该文件夹需要自己创建)

右键创建.ssh文件

(2)进入.ssh文件右键点击 Open Git Bash here

(3)使用ssh-keygen命令生成密钥,输入后连续enter即可

ssh-keygen

(4)使用记事本打开公钥并复制里面的内容(注意不要修改!!!)

(5)进入Gitee官网 工作台 - Gitee.com 点击账号设置

(6)找到ssh公钥 

(7)将刚刚复制的公钥内容粘贴到下面 

(8)输入密码验证 

结果如下: 

这样你就可以使用同样的方式将你的远程仓库的项目克隆到本地仓库

git clone https://gitee.com/deardhp/java-learning-project-01.git


六、IDEA 项目使用Git管理

1、配置git

(1) 在IDEA中配置Git

(2)找到自己安装git的位置,并找到git.exe文件


2、clone远程仓库项目到idea

(1) 从gitee官网中复制自己创建的空项目(没有创建的看前面第四点)

(2)clone远程仓库的项目到idea中

(3)clone项目 (确保网络畅通)


3、创建子模块并将Main类push到远程仓库

(1)创建子模块

(2)Main类爆红,因为该类的状态是 Untracked 还没有参与版本控制

(3) 添加Main到暂存区

(4)commit  Main到本地仓库

(5)编写注释并提交

(6)push Main 到远程仓库 


4、命令行的方式将Test类推到远程仓库

一般还是推荐使用ide图形化界面

(1)创建一个测试类

(2)打开终端,将所有文件添加到暂存区 

git add .

(3)提交到本地仓库

git commit -m "消息"

(4)push 到远程仓库

git push


5、分支与合并

(1)创建一个忽略Maven的远程仓库

(2)克隆到本地的一个文件夹中 

(3)复制项目里的内容

(4)在idea中新创建一个Maven项目

(5)快速定位项目存放的位置

 

 (6)将第(3)点复制的内容粘贴到这里

(7)进入idea并刷新Maven 

此时该项目接收了版本控制 

测试一下:将Main类推送到远程仓库 (前面有push教程)


5.1、将本地分支推送到远程仓库(指令操作)

(1)列出所有本地仓库的分支

git branch

(2)列出所有远程仓库分支

git branch -r

(3)创建本地分支(v1.0是分支的名称)

git branch v1.0

(4)切换到v1.0分支

此时可以看到v1.0前面有一个“*”表示当前所在的分支 

git checkout v1.0

(5)推送本地分支到远程仓库

远程分支不存在时:Git 会自动在远程仓库创建同名分支。

git push origin <本地分支名>
git push <远程仓库名> <本地引用>:<远程引用>
git branch origin v1.0


5.2、在idea项目创建分支推送到远程仓库

(1)找到git日志台(一般在左下角)

(2)选中你要推送的分支,右键 

(3)checkout 签出 到v2.0版本

可以看出当前的分支 

(4)在Main类中新增一条记录 

 (5)提交(commit)并推送(push)Main到远程仓库

提交(commit)并推送(push)的步骤在上面有教程

注意:分支1与分支2之间是独立的,即:push代码到v2.0分支不会影响master分支的代码 


5.3、在idea中实现合并分支

这个部分和前面创建分支相关联,需要先看创建分支部分

(1)创建一个Hi类用来测试合并

(2)把这个Hi类push到远程仓库中,从add->commit->push

从Gitee中可以看到如下结果

(3)checkout 签出版本到master分支(切换版本为master) 

(4)选中v2.0,右键,选择“将v2.0合并到master中 ”

此时,master分支多了一个Hi类 

(5)将Hi推送到远程仓库

(6)如果合并分支的时候有冲突,可以选择一种情况

请看下面两种情况,当v2.0的Hi类与master分支的Hi类发生冲突时:区别是输出内容不同

将v2.0分支合并到master分支时,会出现下面这种情况

这里演示选择“接收他们的”即:将v2.0的代码覆盖master的代码

还有一种解决方案:手动修改代码

直接选择关闭 

此时这个文件会爆红,这里不要害怕,将多余的部分删除即可 

这里保存了两个分支的代码,具体情况根据实际业务修改代码 

自己修改代码后经过add->commit->push即可

注意事项和细节: 

1.如果同一文件在合并分支时都被修改了则会引起冲突,修改冲突文件后重新提交(说明:这时要决定保留哪个分支代码)

2.Master主分支应该非常稳定,用来发布新版本,一般情况下不要在上面工作,工作一般在新建的分支(比如dev、y1.0、v2.0)上工作

3.分支代码稳定后,可以合并到主分支Master

4.在进行分支合并时,最好是各分支都已经处于Committed的状态,这样可以减小处理合并冲突的难度.

5.Push操作即:Push 你已经Committed的代码,如果你修改了一个文件,但是你没有执行Commit,那么你Push的其实是上次Committed的状态

6.add、 commit 、push 的操作可以针对单个文件,也可以针对文件夹(可以看一下Idea的git操作菜单)

7.文件要Commit 前需要先Add 到 暂存区,以后文件修改了,就可以直接Commit

8.如果要删除文件,可以在本地删除该文件,然后commit 文件所在文件夹即可,并重新push该分支,那么在远程仓库,也会删除对应分支的文件.

总结:结合下面的流程图和参考Git 大全 - Gitee.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/83031.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【教程】Docker更换存储位置

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 目录 背景说明 更换教程 1. 停止 Docker 服务 2. 创建新的存储目录 3. 编辑 Docker 配置文件 4. 迁移已有数据到新位置 5. 启动 Docker 服务 6…

PostgreSQL 配置设置函数

PostgreSQL 配置设置函数 PostgreSQL 提供了一组配置设置函数&#xff08;Configuration Settings Functions&#xff09;&#xff0c;用于查询和修改数据库服务器的运行时配置参数。这些函数为数据库管理员提供了动态管理数据库配置的能力&#xff0c;无需重启数据库服务。 …

sql server 2019 将单用户状态修改为多用户状态

记录两种将单用户状态修改为多用户状态&#xff0c;我曾经成功过的方法&#xff0c;供参考 第一种方法 USE master; GO -- 终止所有活动连接 DECLARE kill_connections NVARCHAR(MAX) ; SELECT kill_connections KILL CAST(session_id AS NVARCHAR(10)) ; FROM sys.dm_ex…

主机A向主机B发送一个长度为L字节的文件,假设TCP的MSS为1460字节,则在TCP的序号不重复使用的前提下,L的最大值是多少?

&#x1f4d8;题干回顾&#xff1a; 主机A向主机B发送一个长度为L字节的文件&#xff0c;假设TCP的MSS为1460字节&#xff0c;则在TCP的序号不重复使用的前提下&#xff0c;L的最大值是多少&#xff1f; 这个问题关键在于“TCP序号不重复使用”。 ✅ 正确答案是&#xff1a;D.…

一次因校时服务器异常引起的性能差异分析

一次因校时服务器异常引起的性能差异分析 一.背景知识1. **TSC 频率**:硬件级高精度计时2. **gettimeofday**:用户态时间接口3. **adjtimex**:系统时钟的软件校准4. **`clock_adjtime(CLOCK_REALTIME, {modes=ADJ_TICK})`**: 用于修改系统时钟中断间隔(`tick` 值)。5. 关系…

acwing 4275. Dijkstra序列

题目背景 输入 输出 完整代码 #include<bits/stdc.h> using namespace std; int n,m,k,a[1010],dist[1010],g[1010][1010],st[1010];int dij(int u){memset(st,0,sizeof st);memset(dist,0x3f,sizeof dist);dist[u]0;for(int i0;i<n;i){int ta[i];for(int j1;j<n;…

[思维模式-37]:什么是事?什么是物?什么事物?如何通过数学的方法阐述事物?

一、基本概念 1、事&#xff08;Event) “事”通常指的是人类在社会生活中的各种活动、行为、事件或情况&#xff0c;具有动态性和过程性&#xff0c;强调的是一种变化、发展或相互作用的流程。 特点 动态性&#xff1a;“事”往往涉及一系列的动作、变化和发展过程。例如&a…

Linux常用命令40——alias设置命令别名

在使用Linux或macOS日常开发中&#xff0c;熟悉一些基本的命令有助于提高工作效率&#xff0c;alias命令来自英文单词alias&#xff0c;中文译为“别名”&#xff0c;其功能是设置命令别名信息。我们可以使用alias将一些较长的命令进行简写&#xff0c;往往几十个字符的命令会变…

310. 最小高度树

题目 树是一个无向图&#xff0c;其中任何两个顶点只通过一条路径连接。 换句话说&#xff0c;任何一个没有简单环路的连通图都是一棵树。 给你一棵包含 n 个节点的树&#xff0c;标记为 0 到 n - 1 。给定数字 n 和一个有 n - 1 条无向边的 edges 列表&#xff08;每一个边都…

Axure 纵向滚动隐藏滚动条 Axure 滑动开关(属性开关)on-off

文章目录 I 滑动开关(属性开关)操作说明block 矩形操作说明round小圆圈操作说明on-off 属性开关组合操作说明II Axure 纵向滚动隐藏滚动条思路包含图片的动态面板1操作说明包含动态面板的顶级动态面板I 滑动开关(属性开关)操作说明 block 矩形操作说明 在画布中添加一个矩形…

MySQL之基础事务

目录 引言&#xff1a; 什么是事务&#xff1f; 事务和锁 mysql数据库控制台事务的几个重要操作指令&#xff08;transaction.sql&#xff09; 1、事物操作示意图&#xff1a; 2.事务的隔离级别 四种隔离级别&#xff1a; 总结一下隔离指令 1. 查看当前隔离级别​​ …

VS Code 重磅更新:全新 MCP 服务器发现中心上线

目前各种 MCP 客户端层出不穷&#xff0c;但是安装 MCP 服务却格外繁琐&#xff0c;尤其 VS Code 中无界面化的 MCP 服务配置方式&#xff0c;效率较低。 Copilot MCP 是一个 VS Code 插件&#xff0c;在今天发布的新版本中&#xff0c;插件支持了自动发现与安装开源 MCP 服务…

智能家居“心脏“升级战:GD25Q127CSIG国产芯片如何重构家庭物联生态

在智能家居设备出货量突破10亿台的2023年&#xff0c;家庭网关正经历着前所未有的技术革新。作为连接云端与终端设备的中枢神经&#xff0c;智能网关的存储芯片选择直接决定着整个智能生态系统的运行效率。在这场技术升级浪潮中&#xff0c;兆易创新GD25Q127CSIG串行闪存芯片主…

R语言机器学习算法实战系列(二十五)随机森林算法多标签分组分类器及模型可解释性

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍教程内容加载必要的R包(带详细注释)1. 加载数据2. 数据分割(按Species分层抽样)3. 数据预处理配方4. 创建随机森林模型(多分类)5. 创建工作流6. 设置交叉验证和参数调优7. 参…

速查 Linux 常用指令 II

目录 一、网络管理命令1. 查看和配置网络设备&#xff1a;ifconfig1&#xff09;重启网络命令2&#xff09;重启网卡命令 2. 查看与设置路由&#xff1a;route3. 追踪网络路由&#xff1a;traceroute4. 查看端口信息和使用情况1&#xff09;netstat 命令2&#xff09;lsof 命令…

关于github使用总结

文章目录 一、本地使用git&#xff08;一&#xff09;创建一个新的本地Git库首先在本地创建一个新的git仓库然后进行一次初始提交提交过后就可以查看提交记录 &#xff08;二&#xff09;在本地仓库进行版本恢复先执行 git log 查看项目提交历史使用 git checkout 恢复版本 二、…

【Python】Python 单例模式 8 大核心应用场景深度解析(2025 新版)

单例模式&#xff08;Singleton Pattern&#xff09;作为一种经典的设计模式&#xff0c;始终保持着重要的工程价值。 本文着重于单例模式的主要核心应用场景。 至于实现方法&#xff0c; 晚些时候发出。 一、配置管理器 全局配置信息管理是单例模式最典型的应用场景。通过单…

计算机网络网络层(下)

一、互联的路由选择协议&#xff08;网络层控制层面内容&#xff09; &#xff08;一&#xff09;有关路由选择协议的几个概念 1.理想的路由算法 &#xff08;1&#xff09;理想路由算法应具备的特点&#xff1a;算法必须正确和完整的&#xff0c;算法在计算上应简单&#x…

云存储桶的“公开陷阱”|渗透测试中如何利用与防御配置错误的存储服务

引言 云存储服务&#xff08;如AWS S3、阿里云OSS、Google Cloud Storage&#xff09;因便捷性被企业广泛使用&#xff0c;但权限配置错误却成为近年来数据泄露的重灾区。 攻击者无需复杂漏洞&#xff0c;仅需一个公开链接即可下载敏感数据。本文将深入解析这类漏洞的渗透…

BitMart合约交易体验 BitMart滑点全赔的底层逻辑

美国新泽西州泽西市&#xff0c;2025年5月13日 – BitMart&#xff0c;全球领先的数字资产交易平台&#xff0c;推出了其开创性的滑点保护计划&#xff0c;旨在解决加密市场中最具挑战性且常常被忽视的风险之一&#xff1a;滑点。该计划为交易者提供了在 USDT 保证金永续合约交…