分布式版本管理工具——Git的常用指令(保姆级教学、手把手教你学会使用Git)

一、获取本地仓库

要实现版本控制,我们首先要获取本地仓库,按下面的操作步骤逐步执行就行了:
(1)新建一个空目录(作为本地Git仓库):我们在所需要的位置新建一个空文件夹,这里为了方便我们直接在电脑鼠标右键新建一个文件夹就行了(你也可以在git bash窗口执行touch命令新建,这里就不演示了)

(2)进入该文件夹右键打开Git bash窗口:

风行男孩制作

(3)输入并执行git init命令:

风行男孩制作

可以看到我们执行成功后,后面多了一个(master)字段,在git bash窗口输入并执行命令ll(英文字母小写i j k l m n的l哈,可能有不少人会分不清1和l)我们可以看到在该目录多了.git文件。

风行男孩制作

或者回到刚才的空文件夹,我们也能看到一个.git文件夹。

风行男孩制作

如果你没有看到这个文件夹,可能是你电脑文件管理器没有把“显示隐藏项目”勾选上,我的是win11系统,其他系统怎么设置可以自行查一下,步骤应该都差不多的。

风行男孩制作

二、Git常用命令

图片来源于黑马程序员

Git工作目录下的文件主要有三种状态:

  1. 文件还处于工作区。当你在工作目录进行了一个新的操作(如新建文件,修改文件),此时文件会处于未跟踪(untracked)或者是未暂存(unstaged)状态。
  2. 文件处于暂存区。当对工作区的文件执行git add命令后,文件会加入暂存区(缓存区)。
  3. 文件已提交至仓库。对暂存区的文件执行git commit命令后,会将文件提交至仓库。
2.1 查看文件状态——git status

执行git status命令可以查看工作目录下文件的状态,在文件提交之前,主要有三种状态:

  1. Untracked files:便是该文件还未被追踪、管理,在工作目录下新建的文件一般都会处于这种状态。
  2. Changes to be committed:当对工作区的文件执行git add命令后会处于该状态,表示该文件已在暂存区生成快照,等待提交。
  3. Changes not staged for commit:当对处于第二种状态的文件进行修改后,文件会处于该状态,表示该文件已修改但未提交至暂存区。
    输入并执行命令git status,其中的testFile.txt文件是在工作目录新建的文件,因此该文件处于第一种状态(未追踪),此时处于工作区,Git还未追踪该文件。

风行男孩制作

2.2 添加文件至暂存区(缓存区)——git add

输入并执行git add命令,即可将刚新建(修改)的文件添加至暂存区(缓存区),如执行命令git add testFile.txt命令将testFile.txt文件添加至暂存区(输入git add . 将后面的文件名改为标点符号**.**,即可将处于工作区的所有文件提交至暂存区),此时文件处于第二种状态(已暂存,等待提交)。

风行男孩制作

为了测试第三种状态,对已处于暂存区的文件进行修改,执行vi+文件名,如执行命令vi testFile.txt进入vi编辑,按下英文字母i进入插入模式,随便输入一些内容,之后再保存退出,重新执行git status命令即可出现第三种状态(已修改但未暂存)。当然啦,如果不懂vi编辑器的使用,也可以直接在你电脑文件管理器打开该文件修改再保存,这里就不演示了。

风行男孩制作

2.3 提交文件至仓库——git commit

输入并执行git commit命令,即可将文件提交至仓库,如执行命令git commit -m “gitTest” testFile.txt,将testFile.txt文件添加至仓库,其中-m后面的字段是你的备注信息,可以自行写入。当然,你也可以省略后面的文件名,即直接执行git commit -m “备注信息”,即可将所有处于暂存区的文件提交至仓库。

风行男孩制作

2.4 查看提交日志——git log

执行命令git log[options],可以查看文件提交日志(这里是默认查看所有的,如果已经配置了.bashrc文件并在其中为git log命令配置了别名,也可以使用git-log命令)。

风行男孩制作

2.5 版本回退——git reset --hard commitID

当你需要回到某个版本(版本回退),你可以执行git reset --hard commitID,其中的commitID(提交ID)你可以使用git log(git-log)指令来查询,比如我这里执行git log。

风行男孩制作

比如我想回到提交备注为“create file”的节点,在这个节点我新建了一个create.txt文件,这个节点该文件内容是空的,而在提交备注为“update file”这一个节点我对该文件进行了更新,里面的内容是下面图片所示。

风行男孩制作

此时我执行版本回退指令,回退到刚创建该文件的节点,执行指令git reset --hard commitID,其中的commitID为对应节点记录的第一行,一般来说只用到前面五六位即可。

风行男孩制作

完整的执行过程如下:

风行男孩制作

那么,新的问题来了,如果在工作过程中,脑子抽了一下不小心回到了过去的版本,但我想反悔了,我要回到原来的版本(也就是我回退之后的之前的版本,有点绕了哈哈),但是执行git log指令,我查不到那个节点的commitID了,我也忘记了怎么办呢?没有提交ID我也回不去了呀!这个时候我们就可以执行git reflog命令来查询到已删除的记录信息。

风行男孩制作

我们可以分析一下执行git reflog之后的内容,右边内容是对应记录中我们所进行的操作,可见最新一条(最上面)的信息——moving to cc0b94,就是我们执行版本回退指令回退到提交备注为“create file”节点的记录(commitID为cc0b94),我们要反悔,想返回去,那么该指令下面那一条提交备注为“update file”的记录就是我们要回去的节点的信息,记录前面的字符串就是我们要找的commitID,执行git reset --hard commitID,即可返回。

风行男孩制作

2.6 添加文件至忽略列表

工作目录下有些文件我们不需要git进行管理,比如一些临时文件、日志文件,我们不希望它们出现在未跟踪文件列表,比如我在工作目录新建一个ignore.a文件,当我们执行git status指令时不希望它出现在untracked文件列表里面。

风行男孩制作

此时我们只需要创建一个名为.gitignore的文件,并编辑其内容,写入忽略规则即可(多个规则可纵向排列),比如我要忽略所有文件名以.a和.b后缀结尾的文件管理,我们只需要编辑.gitignore文件,分别在第一第二行输入*.a和*.b保存即可,我这里使用vi编辑器编辑.gitignore文件,你也可以在你电脑文件管理器以记事本或其他编辑器编辑该文件并保存即可。

风行男孩制作

此时我们可以看到,刚才的ignore.a文件已消失在untracked文件列表里面了。

风行男孩制作

三、结束语

以上就是Git的一些常用指令的介绍了,我是风行男孩,咱们有缘再见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值