02-Git常用命令

本文详细介绍了Git的基本操作,包括初始化仓库、添加和提交文件、查看文件状态、日志查看、回滚操作以及删除文件后的恢复。重点讲解了不同类型的gitreset选项对工作区、暂存区的影响,并展示了如何通过gitdiff进行文件比对。此外,还阐述了如何利用gitreflog进行版本恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Git常用命令包含很多

  • 初始化

    init

  • 添加和提交

    add、commit

  • 状态查看

    status

  • 日志查看

    log、reflog

  • 回滚操作

    reset

  • 删除文件之后的恢复

    其实就是重置到最近的一次提交 reset

  • 对比文件

    diff

1. 初始化

初始化仓库,要把本地磁盘中的哪个文件作为git仓库

创建一个新的文件夹
请添加图片描述
初始化仓库

git init

请添加图片描述
会在当前目录下生成一个隐藏的文件夹.git
请添加图片描述
.git中的文件不要删除,不要修改,否则可能会导致仓库不能使用

2. 添加和提交

上文中介绍到,本地分三个区域

  • 工作区
  • 暂存区
  • 本地库

add 是将工作区的代码提交到暂存区

commit 是将暂存区中的文件提交到本地库

git add [要添加的目录或者文件(.代表所有)]
git commit [要提交的目录或者文件] -m "注释"

新建一个文件 Demo1.txt,添加,提交

vim Demo1.txt
git add Demo1.txt
git commit Demo1.txt -m "提交Demo1.txt"

请添加图片描述
注意

  • 不在本地仓库中的文件,git是不进行管理的
  • 即使放到本地仓库中的文件,git也不进行管理,必须通过add,commit提交操作才可以将内容提交到本地库

3. 查看文件状态

当前文件处于什么那个区域,是通过status命令区查看的

新建Demo2.txt,查看状态

vim Demo2.txt
git status

请添加图片描述
添加到暂存区,查看状态

git add Demo2.txt
git status

请添加图片描述
提交到本地库,查看状态

git commit Demo2.txt -m "提交Demo2.txt"
git status

请添加图片描述
修改Demo2.txt,重新查看状态

vim Demo2.txt
git status

请添加图片描述
重新添加,查看状态

git add Demo2.txt
git status

在这里插入图片描述
重新提交到本地库,查看状态

git commit Demo2.txt -m "修改Demo2.txt"
git status

在这里插入图片描述

4. 查看日志

4.1 git log

使用git log命令,查看日志

git log

在这里插入图片描述
HEAD 指向当前所在的版本号和分支

从上到下,为时间从近道远的

git log是带分页效果的

  • 上一页 b
  • 下一页 空格
  • 最后 显示(END)
  • 退出 q

4.2 git log --pretty-oneline

使用git log --pretty-oneline可以在一行展示

git log --pretty-oneline

在这里插入图片描述

4.3 git log --oneline

使用git log --oneline可以在一行展示,并且显示短的标识号

git log --oneline

在这里插入图片描述

4.4 git reflog

使用git refloggit log --oneline基础上多了HEAD@{数字}

这个数字的含义是,指针回到当前版本需要走多少步

git reflog

在这里插入图片描述

5. 回滚

5.1 git reset

使用git reset回退或者前进到历史版本

git refloggit reset --hard 4ae6440
git reflog

在这里插入图片描述

5.2 hard/mixed/soft

  • hard

git reset --hard [索引]

本地库指针移动的同时,重置暂存区,重置工作区,不保留代码

修改一次Demo2.txt,内容改为aabbccc,重新添加,提交

git add Demo2.txt
git commit Demo2.txt -m "修改Demo2.txt"
git reflog

在这里插入图片描述
回滚,查看状态,工作区内容和暂存区都没有保留

git reset --hard f810965
git reflog
git status

在这里插入图片描述

  • mixed

git reset --mixed [索引]

本地库指针移动的同时,重置暂存区,保留工作区,保留代码

修改一次Demo2.txt,内容改为aabbccc,重新添加,提交

git add Demo2.txt
git commit Demo2.txt -m "修改Demo2.txt"
git reflog

在这里插入图片描述
回滚,查看状态,可以看到,工作区的代码还在

git reset --mixed f810965
git reflog
git status

在这里插入图片描述

  • soft

git reset --soft [索引]

本地库指针移动的同时,保留工作区和暂存区

重新添加,提交

git add Demo2.txt
git commit Demo2.txt -m "修改Demo2.txt"
git reflog

在这里插入图片描述
回滚,查看状态,可以看到,暂存区,工作区的代码都还在

git reset --soft f810965
git reflog
git status

在这里插入图片描述

6. 删除文件之后的恢复

  • 删除文件,并且已经同步到本地库了,想恢复
  • 删除文件,提交暂存了,但是还没有同步本地库,想恢复

现在的环境
在这里插入图片描述

6.1 恢复本地库删除的文件

删除Demo2.txt,添加,提交,查看日志

rm -rf Demo2.txt
git add Demo2.txt		# 其实就是将删除操作添加
git commit Demo2.txt -m "删除Demo.txt"	# 其实就是将删除操作提交
git reflog

在这里插入图片描述
恢复Demo2.txt,其实就是重置到前一次提交

git reset --hard 006db80
git reflog

在这里插入图片描述

6.2 重置暂存区的修改

对于没有提交到本地库的更改,可以重置掉。使用reset重置到当前本地库的指针HEAD即可

删除Demo2.txt,添加,查看状态

rm -rf Demo2.txt
git add Demo2.txt		# 其实就是将删除操作添加
git status

在这里插入图片描述
重置更改,对于为提交本地库的,直接重置到本地库的当前指针即可。当然也可以使用唯一标识号

git reflog
git reset --hard HEAD
git status

在这里插入图片描述

7. 文件比对

当文件修改之后,我们要对比文件的变更详情,可以使用diff

  • 对比工作区和暂存区的更改
  • 对比暂存区和本地库某个版本直接的差异

7.1 对比工作区和暂存区

使用git diff [文件名]

修改文件Demo2.txt的内容,对比

# Demo2.txt
	aabbccc
	添加内容aaa
# 对比文件
git diff Demo2.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4Gv1HV5Z-1629026088476)(images/image-20210812092612120.png)]

7.2 对比暂存区和本地库

git diff [版本号] 文件名

版本号必须添加,如果是最新的,可以使用HEAD代替

将Demo2.txt提交到暂存区,对比暂存区和本地库最新版本的差异
在这里插入图片描述
对比和本地库历史版本的变更 9354de0

git reflog
git diff 9354de0 Demo2.txt

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值