最新Git入门到精通完整教程

Git 是当今最流行的分布式版本控制工具之一,广泛应用于开源项目和企业级开发中。Git 不仅能够帮助开发人员高效地管理代码版本,还能简化团队协作、优化代码提交流程。本教程将为你详细讲解 Git 的安装、基本命令、常见操作,并通过 IntelliJ IDEA(简称 IDEA)展示如何实际使用 Git 完成本地和远程仓库的管理、分支操作等。

一、Git简介和下载

Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件,Git仓库可以分为本地仓库远程仓库

commit:提交,将本地文件保存到本地仓库;

push: 推送,将本地仓库指定文件推送到远程仓库

pull: 拉取,将远程仓库的文件下载到本地

git下载安装:https://git-scm.com/downloads

鼠标右键能看到Git的选项证明Git本地下载已经成功

而远程仓库用的是码云:https://gitee.com/,国内的一个免费的代码托管平台,容量极大(可用空间大约5G),由于服务器在国内,所以相比GitHub速度会更加快。

自己根据情况注册或者登录

右上角等多个地方可以点击"新增仓库",而删除仓库步骤为 设置 -> 仓库管理信息 -> 选择对应仓库的设置 -> 删除仓库,更多的操作不一一列举。

根据情况填写仓库名称、介绍,路径会根据仓库名称映射出来,如果你只是为了存储代码版本,可以设置私有,但一般建议设置为开源,便于团队开发、分享代码。下面三个选项默认不选。

二、Git命令

在idea操作之前,先理解和熟练Git命令,才能懂得idea图形化操作的原理,更好地理解idea操作背后的Git命令。

1.全局参数配置

当安装Git后首先是要设置用户名和Email,因为每次Git提交都会显示该用户信息,才能知道该版本代码是谁提交的。在自己选择的指定文件夹下打开Git命令窗口

在Git命令窗口中执行以下命令:

查看用户信息

复制代码
git config --list

设置用户信息

复制代码
git config --global user.name "xiaoZhao"
git config --global user.email "xiaoZhao@qq.com"

2.获取本地仓库

要使用Git对我们的代码进行版本控制,首先需要获取Git仓库,获取Git仓库通常有两种方式:在本地初始化一个Git仓库、克隆远程仓库

1.本地初始化Git仓库命令:

复制代码
git inti

执行命令后发现多了一个.git目录,这就是本地仓库的文件夹 。

2.克隆远程仓库:

复制代码
git clone [远程仓库地址]

它会将远程仓库的整个文件夹复制到当前目录下,在工作中用的更多。

3.基本概念

本地仓库:.git文件夹,存储了很多配置信息、日志信息和文件版本信息;

暂缓区:.git文件夹中的index文件就是暂缓区,用来临时保存修改的文件;

工作区:跟.gti文件同一级的文件或目录就是工作区,主要用来存放开发代码;

复制代码
git add [文件名]     // 将文件加入暂缓区
git commit -m "提交信息" [文件名]   // 将文件从暂缓区提交到本地仓库

将1.txt文件放入暂缓区,可以发现.git文件夹多了一个index文件

将1.txt文件从暂缓区加入本地仓库

Git工作区中的文件存在两种状态:untracked :未跟踪(未被纳入版本控制)、tracked :已跟踪(被纳入版本控制)

而tracked也分为三种状态:Unmodified:未修改状态;Modified:已修改状态;Staged:已暂缓状态

获取本地仓库的状态:

复制代码
git status

将2.txt文件加入暂缓区后,本地仓库的状态为tracked

修改1.txt文件后保存,再查看本地仓库的状态

4.切换版本操作

本地仓库记录了每次提交的版本,如果想要回退到某个版本,可以先查看日志,接着切换版本号

复制代码
git log    // 查看日志
git reset --hard [版本号]    // 将暂缓区的文件取消暂缓或切换到指定版本

通过查看日志,可以明确看到每次提交的信息和对应的版本号

当回退到第一次修改的版本,发现1.txt文件的内容也回退到对应的版本

5.远程仓库操作

前面的命令都是针对本地仓库,而远程仓库的命令如下:

复制代码
git remote -v         // 查看远程仓库
git remote add origin [远程仓库路径]      // 添加远程仓库
git clone              // 从远程仓库克隆
git pull               // 从远程仓库拉取
git push             // 推送到远程仓库

当前目录下查看远程仓库信息,发现没有任何信息,这是因为当前本地仓库没有关联远程仓库,一个本地仓库只能关联一个远程仓库

在码云上新建一个远程仓库,添加远程仓库

将本地仓库文件推送到远程仓库,刷新一下远程仓库,就会发现1.txt文件已上传

每个版本对应的文件都能下载到本地。

6.分支操作

Git 的分支操作是 Git 中一个非常重要的概念,它的主要作用是允许开发者在不同的分支上并行工作、独立开发,从而避免直接修改主分支(如 master)的代码。分支操作使得版本管理更加灵活、可靠,并且提高了团队协作的效率。

同一个仓库可以有多个分支,每个分支相互独立,互不干扰。一开始通过git init 命令创建本地仓库的时候默认创建一个master分支,分支上的结点对应的是每个版本号。

复制代码
git branch                        // 查看分支
git branch [name]                   // 创建分支
git checkout [name]               // 切换分支
git push [shortName] [name]        // 推送至远程仓库分支
git merge [name]               // 合并分支
git branch -d [name]            // 删除分支

7.标签操作

Git 标签(Tag)是用于标记特定提交(commit)的一个机制,通常用于标记版本发布或重要的里程碑(如:发布版、修复版等)。标签在 Git 中并不像分支那样是可变的,它们指向某个特定的提交,通常用于记录一些重要的节点。

复制代码
git tag                            // 查看标签信息
git tag [name]                      // 创建标签
git push [shortName] [name]        // 将标签推送至远程仓库
git checkout -b [branch] [name]    // 检出标签

三、idea图形化实战

1.配置本地仓库

以idea2023版为例,首先创建一个项目,配置Git

设置 -> Version Control -> Git -> Test -> Ok

接着添加本地仓库,路径为项目文件

添加本地仓库后,发现项目中的文件名变为红色,这是因为工作区文件被跟踪 ,还没有提交到本地仓库

接着配置.gitignore文件,这是用来配置哪一些文件不用提交上传到远程仓库

从下面配置可看出,target目录下,.idea目录下,iml文件,class字节码文件和.log文件都不需要上传到远程仓库

在提交或推送过程中显示警告可以忽略,只要代码检查过运行没问题

2.配置远程仓库

每个idea版本设置不一样,如果找不到对应的键可上网查

刷新一下远程仓库,发现文件已将上传

拉取和克隆操作这里就不一一列出.......

3.分支操作

IDEA(IntelliJ IDEA) 中进行 Git 分支操作,通常会比在命令行中进行操作更加直观和便捷。IDEA 提供了图形化界面来管理 Git 仓库,包括创建、切换、合并分支等操作,下面是 IDEA 中常用的 Git 分支操作方法:

选择Hard选项,就会回退到第一个提交版本

也可以查看两个版本之间的区别

相关推荐
rabbit_pro3 分钟前
Java 文件上传到服务器本地存储
java·服务器·python
q_191328469515 分钟前
基于Springboot2+Vue2的旅游景点购票系统
java·vue.js·spring boot·后端·mysql·毕业设计·计算机毕业设计
哈哈哈笑什么16 分钟前
基于RabbitMQ的企业级订单系统设计与实现
后端
LSTM9716 分钟前
使用 Java 实现条形码生成与识别
后端
哈哈哈笑什么16 分钟前
如何防止恶意伪造前端唯一请求id
前端·后端
哈哈哈笑什么17 分钟前
Spring Cloud 微服务架构下幂等性的 业务场景、解决的核心问题、完整实现方案及可运行代码
后端
XL's妃妃17 分钟前
Java 基准测试工具 JMH 详细介绍
java·开发语言·测试工具
Z3r4y17 分钟前
【代码审计】RuoYi-4.7.1&4.8.1 Thymeleaf模板注入分析
java·web安全·ruoyi·代码审计·thymeleaf
PieroPC19 分钟前
飞牛Nas-通过Docker的Compose 安装WordPress
后端
季禮祥20 分钟前
彻底弄懂KeepAlive
javascript·vue.js·面试