Git入门篇三(基础命令行操作)

几个简单的命令介绍

以下文字描述的内容如果没有学习过Git的暂时先混个印象,之后再按照图片演示手动操作一下,就更加清晰通透了。

1. 查看仓库状态:git status

2. 添加到暂存区:git add 让git 跟踪某个文件,被Git管理

git add .git add -Agit add filename都可以将某文件添加到暂存区。 批量操作使用 . 或者 -a(.代表所有的新增和修改 -A 代表所有新增和修改和删除)一般都使用 -A

3. 提交文件到本地仓库:git commit

  1. git commit -m "此次提交的注释" 。如果不加 -m参数,那么是不能直接输入注释的,它会调用一个vim编辑器让你输入这个注释比较麻烦。建议使用-m
  2. git commit -am "此次提交的注释"。将所有被跟踪文件的 修改删除 操作的文件都提交到本地仓库。即使这2个状态没有经过git add添加到暂存区。
  3. 注意git commit -am 命令 我并没有描述 新增状态的文件。因为新增状态的文件是必须执行add添加到暂存区才可以 commit,如果新增一个文件,并add添加到暂存区,后续又执行了此文件的修改或者删除操作,此时可以不add直接commit。但是建议正常的操作流程还是应该使用git add先将改动的文件添加到暂存区,再用git commit 提交到本地版本库。

4. 查看日志:

  1. git log 多行信息展示提交的记录日志,会显示最全面的日志信息, (如作者 此处的作者就是设置的签名信息,还有提交的时间,40位的全部索引值)
  2. git log --pretty=oneline 一行信息展示日志(40位的全部索引值,忽略了作者和时间)
  3. git log --oneline 一行信息展示日志(更加简化 只显示7位的索引值,忽略作者和时间)
  4. git reflog 一行信息展示日志(更加简化 只显示7位的索引值,忽略作者和时间。加入了HEAD指针指向哪一次的提交点也就是历史记录。通常使用这个命令进行版本的前进和回退操作)
查看仓库状态:
	git status

添加到暂存区:
	git add
	
提交文件到本地仓库:
	git commit 
	
查看日志:
	git log		
	git log --pretty=oneline	
	git log --oneline	
	git reflog		

我们先进入自己学习Git的仓库,打开命令行窗口,开始学习如何操作命令行

命令操作演示

1. 创建文件 helloGit.txt

在这里插入图片描述
在这里插入图片描述


2. 执行git status 查看仓库状态

Git会提示在当前仓库下有文件 没有被追踪,说白了就是没有被Git所管理。会用红色高亮显示。
在这里插入图片描述


3. 执行 git add 将添加到暂存区

其实这个命令就是让当前文件被Git所管理,文件被Git所追踪。我在这里直接使用 git add filename。至于 git add . 或者 git add -A 上面也讲到了,作用是一样的。然后再使用git status查看状态此时会显示绿色的new file
在这里插入图片描述


4. git rm --cached <file>

我们在上图中看到Git 提示,可以使用 git rm --cached <file>用来退出,他的意思其实就是将刚刚添加到暂存区的内容进行删除。我们删除之后在执行git status 查看状态,发现此时文件又高亮显示未红色。
在这里插入图片描述


5. 学习下git commit命令

延续上一步的操作,将文件重新添加到暂存区,方便学习下git commit命令。如果此时添加到暂存区后直接执行git commit 命令,Git工具会强制你进入到录入注释的页面。(默认使用vim编辑器,必须要输入注释才可以提交)。建议直接使用git commit -m "此次提交的注释" 来录入注释。如下图:在这里插入图片描述
在这个界面和Linux操作文本是一样的方式,录入注释信息之后,保存退出,此次commit 就执行成功了。
在这里插入图片描述
保存退出之后,就会显示图中绿色框的内容,就是我编写此次提交操作的注释,然后再使用 git status查看状态,发现 working tree clean(此时仓库是干净的)。在这里插入图片描述


6. 查看日志前的准备工作,涉及到修改文件

接下来我们查看下提交的日志,因为此时Git中只有一次提交记录,不方便我们后续的讲解。所以我多做几次commit操作,添加一些内容。如图执行 git log。此时仓库只有一条记录
在这里插入图片描述
在helloGit.txt 添加内容,也是vim编辑器,录入->保存
在这里插入图片描述
执行查看命令git status。 他会告诉你发生了修改操作,需要进行add 或者 commit 的操作。我们执行commit 使当前仓库在增加一条日志信息。
在这里插入图片描述
当我执行提交的时候发现,Git提示1 file changed, 1 insertion(+), 1 deletion(-)从这里我们也可以看出来Git管理文件的时候是将原先旧的数据删除,然后将修改的数据添加进去。所以是一次删除操作,一次新增操作。
在这里插入图片描述


7. git log查看日志

  1. 首先是 git log
    我们可以看到执行完git log指令之后 显示日志信息特别的详细,有用户名还有邮箱,时间和 注释 还有生成的索引值。但是GIt的窗口就这么大点,不会把所有日志都一次性展示出来。所以会进入分页的模式下。会多屏显示。控制方式 空格向下翻页,== b 向上翻页==,q 退出。用于查看日志信息。

在这里插入图片描述

  1. git log --pretty=oneline 意思就是美化日志,就用一行显示

在这里插入图片描述

  1. git log --oneline 这个命令会将索引值显示为前面的7位数字。用来表示每一次的提交标识。(7位数字一般情况下就可以表示唯一了)

在这里插入图片描述

  1. git reflog reflog的特点:它会显示当前的HEAD指针指向的是Master主线,然后是在HEAD{0}的这一行,就说明当前的历史版本是在HEAD{0},索引值是:bda4aea。这个日志用于处理历史版本的前进后退。
    在这里插入图片描述

8. git reset版本前进后退的操作

版本前进后退的操作,本质就是基于Git生成的索引值完成,使当前的指针HEAD 指向不同的 索引值,从而实现版本前进回退。前提条件是文件被Git所管理,进行过commit操作。否则Git也是无能为力的

  1. 我们先来留意一下现在的文本内容,指向的索引值是bda4aea
    在这里插入图片描述
  2. 然后再用 git reflog指令查看日志,确定好我们要回退的版本索引。例如我们要回退到 初始时候的样子。初始的索引值是3168aa4

在这里插入图片描述
git reset --hard [索引值] hard后面跟自己的索引值

输入上面的命令行内容,按下回车键之后。它会提示你当前的HEAD已经指向了索引值为 3168aa4
在这里插入图片描述
再来查看我们的文档内容:正确回退了。
在这里插入图片描述
那 Git 是如何来完成前进操作的哪?其实方式是一样的,都是使用git reset 命令,虽然现在是在初始状态,只要录入正确的被Git所管理的索引值,就可以完成前进回退操作。不在演示了。

留意,在进行版本控制时,必须要使用 git reflog 命令获取索引值。因为只有这个查看日志的方式会将所有日志展示出来,不论你现在HEAD指向哪个地方。如果是其他查看日志的方式,他们只会显示当前HEAD指向当前索引以及之后的日志信息。

如图:我们在回退完版本之后再次查看日志发现,日志信息展示不全
在这里插入图片描述
只有reflog可以全部显示日志
在这里插入图片描述


9. 关于前进后退的其他参数和符号

9.1 符号介绍

此处的 HEAD 表示当前指向的那个索引值位置,

  • 使用^符号:只能后退
    git reset --hard HEAD^ 注:一个^表示后退一步,n 个表示后退n 步,例如可以写成 git reset --hard HEAD^^^^^ 表示后退5步
  • 使用~符号:只能后退
    git reset --hard HEAD~n 注:表示后退n 步 例如git reset --hard HEAD~1表示后退一步,git reset --hard HEAD~3表示后退三步
9.2 参数介绍

先来了解下Git在自己计算机上运行的流程,然后在学习回退的几个参数。
首先会有一个暂存区,和本地库。加上我们自己的工作区。一共是三个区域。工作区的 内容需要add 到Git的暂存区 ,然后由Git的暂存区 commit 到Git的本地库。这样一个顺序。

  1. --sort 参数
    如果是执行回退命令使用这个参数 git reset --sort [索引值]。对于Git它只会帮助你将HEAD的指针,指向你要回退的版本仅此而已。对于暂存区和自己的工作区来说(通俗一点就是本地代码),都不做任何的处理。还是保持 未回退之前的内容。这是这个参数表示的意思
  2. --mixed 参数
    git reset --mixed [索引值]如果使用这个参数,对于Git来说他会帮助你将HEAD的指针,指向你要回退的版本,并且将重置暂存区…仅此而已。对于自己的工作区来说(通俗一点就是本地代码),都不做任何的处理。还是保持 未回退之前的内容。说白了就是在 sort参数的基础上多做一些事情。但是还远远不够
  3. -- hard 参数
    git reset --hard [索引值]至于 hard参数,表示所有的事情Git都会做。此时自己本地代码旧会随着版本回退发生变化。三个参数一般都是使用 --hard。如果使用前面2个参数,会徒增工作量出来浪费部分时间。

10. 如果文件被删除想找回怎么办?

其实和我们上面讲述的一样,都是使用 git reset命令进行回退就可以了。你把版本回退到删除文件的那个索引值。
但是被删除的文件必须提交到过Git生成了索引值,才可以。否则Git无能为力 。你想嘛Git都没有记录你提交的任何信息,他怎么帮你找回删除的文件。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值