Git教程 - 2 git基本使用

本文详细介绍了Git的基本使用,包括配置用户信息、初始化仓库、工作空间与暂存区的概念、暂存与提交文件、批量操作、撤销修改、删除文件以及查看提交日志。通过实例演示了gitadd,commit,rm,restore等核心命令的使用。
摘要由CSDN通过智能技术生成

更好的阅读体验:点这里www.doubibiji.com

2 git基本使用

2.1 配置

在使用 git 之前,需要先对 git 进行一下配置,主要是配置 nameemail

因为代码是很多人编写的,每个人得有个标识,所以 nameemail 主要是用户标识。

打开命令行,执行如下操作:

git config --global user.name "你的名字"
git config --global user.email "你的邮箱@xxx.com"

例如我输入我的:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这样就配置好了,如果要查看已经配置的 name 和 email,则使用如下指令:

git config user.name		# 查看配置的用户名
git config user.email		# 查看配置的邮箱

2.2 初始化仓库

我们先在电脑上新建一个目录,我这里叫 hello-git,以这个文件夹来模拟实际开发中的项目,通过对文件夹中的文件的修改进行追踪,来实现版本管理。

新建 hello-git 文件夹,此时文件夹还只是一个普通的文件夹,还不受 git 管理,我们需要对仓库进行初始化,这样 hello-git 才受 git 管理,文件夹才成为 git 的一个仓库了。

我们在命令行进入到文件夹下,输入以下命令:

git status

可以查看 git 的状态:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

可以看到项目还不是一个 git 仓库。

然后输入如下指令:

git init

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

可以看到初始化了一个空的 git 仓库。

此时在电脑上如果显示影藏的文件,会看到当前项目目录下会多了一个 .git 的隐藏文件夹。

此时再使用 git status 查看项目的状态,仓库是已经初始化了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

此时显示没有什么东西要提交。

一般在实际的开发中,如果不是新建项目,一般不会用到 git init 命令来初始化项目,因为项目是别人建好了,代码保存在云端仓库,我们使用后面的 git clone 指令来将项目的代码下载到自己的电脑,已经不用初始化了。

2.3 基础操作

在讲解操作之前,先介绍一个 git 中几个核心概念。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

git 中有三个区:工作空间、暂存区、仓库。

  • 工作空间:就是正在编辑和修改文件的地方,一般就是项目根目录;
  • 暂存区:暂存更改的地方,文件修改后,需要先暂存才能提交到仓库;
  • 仓库:文件暂存后,可以提交代码到仓库。

git 中文件有两种状态:未跟踪已跟踪

未跟踪 是指我们刚新建了一个文件,还没有被 git 所管理。

已跟踪 是指文件已经被 git 管理了。

已跟踪的文件又有三种状态:未修改已修改暂存

未修改 是指工作空间中的文件和 git 仓库中的文件相同,没有被修改;

已修改 是指工作空间中的文件已被修改,和 git 仓库中的文件不同;

暂存 是指文件修改了,已经被保存到暂存区,暂时没有提交到仓库。

注意,上面工作空间和 git 仓库,但是都是在自己的电脑上,仓库也是本地的,没有涉及到云端仓库。

1 暂存 git add

现在在项目文件夹 hello-git 下新建一个 1.txt ,并输入以下内容:

第一次添加的内容

然后在命令行查看仓库的状态:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

可以看到 1.txt 的状态是 Untracked (未跟踪),所以刚刚添加到项目的文件处于未跟踪状态

此时执行如下指令,将 1.txt 切换为暂存状态(已跟踪中的状态)。

git add 1.txt

然后再查看仓库的状态:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

可以看到 1.txt 文件是 Changes to be commited,表示是 暂存的状态

此时 1.txt 已经被 git 管理了。

2 提交 git commit

现在 1.txt 是暂存的状态,还未被提交到仓库。

下面我们可以使用如下指令,将仓库中暂存状态的文件提交到仓库:

git commit -m "第一次提交"

-m 后面的参数是提交日志,记录这一次提交的内容,以后好根据这个内容判断修改了什么内容。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

代码提交后,此时再次查看工作空间的状态,会发现工作空间没有东西要提交,工作树是干净的(工作书我们后面再讲)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

上面我们完成了一个完整的流程:添加文件 --> 暂存文件 --> 将文件提交到仓库

好了,我们再重新走一遍流程-------------------------------------------------------------------

现在我们重新编辑 1.txt,内容变为如下:

第一次添加的内容
第二次添加的内容

保存文件,然后 git stauts 查看工作区的状态:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

可以看到 1.txt 的状态变为了 已修改

那么如何将 1.txt 再次提交到仓库,让它的状态变为 未修改 呢?

需要再次将 1.txt 暂存,然后再次提交到仓库。

也就是说每一次都需要经历 添加/修改文件 --> 暂存文件 --> 提交文件 这三个步骤。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

好了,我们重新按照上面三个步骤将 1.txt 提交到仓库:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

文件提交到仓库后,工作区的文件就和仓库的文件一致了,所以就变成未修改了。

不要觉得麻烦,实际开发中,不可能修改一行代码提交一次,一般完成一个功能,或每天提交,所以没那么频繁。

3 批量暂存

我们重新在项目下添加 2.txt3.txt

重新查看工作区的状态:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

可以看到有两个未追踪的文件。

如果每次使用 git add 来一个一个添加文件,那确实很麻烦,我们可以使用如下命令批量将文件添加到暂存。

git add .			# 将当前目录所有已修改或未跟踪的文件加入到暂存
git add *			# 将工作区所有已修改或未跟踪的文件加入到暂存

执行 add,然后 commit,工作区的状态又变成了未修改。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4 暂存和提交

你可能觉得每次都需要先 add 再 commit 有点麻烦,其实还可以使用一个指令来完成添加和提交

我们再次修改 1.txt2.txt3.txt

此时查看工作区的状态,发现有三个文件已修改,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

通过上面命令行也可以看到一个提示 git commit -a 命令,

所以我们可以使用如下命令:将工作区所有已修改的文件提交到仓库(注意:未跟踪的文件不会提交)。

git commit -a -m "第四次提交"

此时工作区的状态又变成未修改了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

6 撤销修改 git restore

如果在工作区修改了文件,还没有提交,现在修改的内容不想要了,可以将文件恢复到最近一次提交时的状态。所以git restore 主要是在工作区和暂存区之间进行撤销操作。

如果修改了文件,还没有提交到暂存区,则可以使用如下指令撤销工作空间文件的修改:

git restore 文件					 # 撤销单个文件修改 
git restore .							# 撤销当前目录修改
git restore * 						# 撤销整个项目修改

举个例子:

cat 命令是查看当前文件内容。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

git restore 命令使工作空间(不是暂存区)的文件撤销更改,如果文件已经提交到暂存区了,则可以使用下面的指令将暂存区的文件撤回到工作区,并保留暂存前的内容。

git restore --staged 文件			# 撤销单个文件暂存
git restore --staged .				# 撤销当前目录暂存
git restore --staged * 				# 撤销整个项目文件暂存

举个例子:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

所以 git restore 是无法将添加到暂存区的文件恢复到未修改状态的。

7 删除 git rm

比方说我们的仓库有一个 1.txt,现在我们想从仓库删除这个文件,怎么操作呢。

首先在硬盘上将这个文件从工作区中删除(也就是从硬盘删除),然后查看一下工作区的状态:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

可以看到上面有一个文件删除了,然后我们就可以将 1.txt 加入到暂存区,然后 commit 提交就删除了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

上面的操作是一种方式。

还有一种方式是使用如下指令:

git rm 文件			# 将文件删除,并提交到暂存

上面的指令是直接将文件删除,并提交到暂存,然后可以直接提交。

举个例子:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

从上面的操作可以看出,git rm 命令相当于删除文件并暂存

需要注意,如果文件已经被修改了,是已修改的状态,那么是无法使用 git rm 来删除文件的,需要使用如下命令:

git rm -f 文件

这也是为了防止将修改的内容误删除。

如果是删除文件夹还需要添加 -r 表示递归删除:

git rm -r 文件夹				# 递归删除文件夹中的内容
git rm -rf 文件夹			# 如果文件夹中有内容被修改,还需要-rf强制递归删除

8 查看提交日志 git log

此时我们可以使用如下命令查看提交的日志:

git log

例如我提交了4次,可以看到每一次的提交记录:

li@192 hello-git % git log
commit f4050cc3324b185b9b918480ab78fd89e892bfdd (HEAD -> master)
Author: Doubi <doubibiji@qq.com>
Date:   Sun Dec 10 17:07:00 2023 +0800

    第四次提交

commit 051fe2291402ced19d3d6c27002dd805965a5857		# 这个相当于ID
Author: Doubi <doubibiji@qq.com>									# 提交人
Date:   Sun Dec 10 17:06:09 2023 +0800						# 提交时间

    第三次提交

commit 4e3d9108b6ba26539606b5f32f3a0532d8183c3b
Author: Doubi <doubibiji@qq.com>
Date:   Sun Dec 10 17:05:42 2023 +0800

    第二次提交

commit ae4ed34824a1996c6b937e3040fd4795f4d98b49
Author: Doubi <doubibiji@qq.com>
Date:   Sun Dec 10 17:05:04 2023 +0800

    第一次提交

还可以使用如下指令查看历史变动和引用日志:

git log -g				
# 或者使用
git reflog show
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山石岐渡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值