git的使用
专题一:Git 回退与恢复操作流程指南
本指南适用于需要将项目回退到某个历史版本,或在回退后恢复误删提交的开发者。
一、查看提交历史
1 | git log --oneline |
输出示例:
1 | a1b2c3d4 初始化项目 |
二、回退到指定版本
方式一:彻底回退(删除之后的提交与代码改动)
1 | git reset --hard 提交ID |
示例:
1 | git reset --hard e5f6g7h8 |
方式二:回退提交记录,但保留改动(改动会出现在暂存区)
1 | git reset --soft 提交ID |
方式三:取消暂存但保留工作区修改
1 | git reset 提交ID |
三、恢复已回退的版本
如果你使用了 --hard,但后悔了:
查看 HEAD 的移动记录
1 | git reflog |
输出示例:
1 | abc1234 HEAD@{0}: reset: moving to e5f6g7h8 |
回退到之前的状态(例如 HEAD@{1})
1 | git reset --hard HEAD@{1} |
或
1 | git reset --hard xyz9876 |
四、补充建议
- 建议使用前先执行 *
\*\* 和 \*\** 观察当前状态。 - 如非必要,不要频繁使用 *``*,谨慎操作以防数据丢失。
- 可以先使用
git stash备份当前工作区:
1 | git stash save "临时保存当前工作" |
回退完成后恢复:
1 | git stash pop |
命令速查表
1 | git log --oneline # 查看提交历史 |
专题二 Git概述与常见命令
1.Git工作机制

2.Git常用命令
| 命令名称 | 作用 |
|---|---|
| git config --global user.name 用户名 | 设置用户签名 |
| git config --global user.email 邮箱 | 设置用户邮箱 |
| git init | 初始化本地库 |
| git status | 查看本地库状态 |
| git add 文件名 | 添加到暂存区 |
| git commit -m “日志信息” 文件名 | 提交到本地库 |
| git reflog | 查看历史记录 |
| git reset --hard 版本号 | 版本穿梭 |
设置用户签名
基本语法
1 | git config --global user.name 用户名 |
案例实操
全局范围的签名设置:
1 | git config --global user.name yhm |
说明:
签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git首次安装必须设置一下用户签名,否则无法提交代码。
※注意:这里设置用户签名和将来登录GitHub(或其他代码托管中心)的账号没有任何关系。
3.实操
初始化本地库
1 | git init |
案例实操

结果查看

查看本地库状态
基本语法
1 | git status |
案例实操
(1)首次查看(工作区没有文件)

(2)新增文件


(3)再次查看(检测到未追踪文件)

添加暂存区
将工作区的文件添加到暂存区
(1)基本语法
1 | git add 文件名 |
(2)案例实操

查看状态(检测到暂存区有新文件)

提交本地库
暂存区文件提交到本地库
(1)基本语法
1 | git commit -m "日志信息" 文件名 |
(2)案例实操

查看状态(没有文件需要提交)

修改文件(hello.txt)
查看状态(检测到工作区有文件被修改)

将修改的文件再次添加暂存区

查看状态(工作区的修改添加到了暂存区)

将暂存区文件提交到本地库

历史版本
查看历史版本
(1)基本语法
1 | git reflog 查看版本信息 |
(2)案例实操

版本穿梭
(1)基本语法
1 | git reset --hard 版本号 |
(2)案例实操
–首先查看当前的历史记录,可以看到当前是在48f4e22这个版本

–切换到之前版本,8ca80d7版本,也就是我们第一次提交的版本

–切换完毕之后再查看历史记录,当前成功切换到了8ca80d7版本

–然后查看文件hello.txt,发现文件内容已经变化

Git切换版本,底层其实是移动的HEAD指针。
专题三 Git客户端操作
Gitee(略)
GitHub远程仓库(略)
idea使用Git将java项目上传到GitHub
1.github如何修改默认分支为master

2.把项目上传github上(在终端用命令行)
1 | #初始化本地仓库 |
或者可以用idea自带的操作

忽略文件
概念:.gitignore 文件可以让 git 彻底忽略跟踪指定文件
目的:让 git 仓库更小更快,避免重复无意义的文件管理
例如:
- 1.系统或软件自动生成的文件
- 2.编译产生的结果文件
- 3.运行时生成的日志文件,缓存文件,临时文件等
- 4.涉密文件,密码,秘钥等文件
创建:
- 1.项目根目录新建 .gitignore 文件
- 2.填入相应配置来忽略指定文件
注意:如果文件已经被暂存区跟踪过,可以从暂存区移除即可
分支的概念
概念:本质上是指向提交节点的可变指针,默认名字是 master
注意:HEAD 指针影响工作区/暂存区的代码状态


场景:开发新需求 / 修复 Bug,保证主线代码随时可用,多人协同开发提高效率
例如:
在现有代码上创建新分支完成内容列表业务
突然需要紧急修复 Bug - 单独创建分支解决 Bug

需求:创建内容列表 content 分支,并产生 3 次提交记录
步骤:
- 创建分支命令:git branch 分支名

- 切换分支命令:git checkout 分支名

- 工作区准备代码并暂存提交,重复 3 次

1.什么是 Git 分支?
指针,指向提交记录
2.HEAD 指针的作用?
影响暂存区和工作区的代码
3.如何创建和切换指针?
1 | git branch 分支名 |