【Git】:Git的基本操作

一.修改文件

git管理的并不是文件而是修改,objects里的对象存储的其实是修改的内容。

接下来对ReadMe文件进行修改

在这里插入图片描述

1.git status查看状态

在这里插入图片描述

该命令用来查看从上次提交后到现在是否有对内容进行修改。它告诉我们暂存区里没有要提交的内容,修改的文件处于工作区,修改的文件是ReadMe。

2.git diff+文件名

git status只能知道是否修改但不能知道修改了哪些内容,而gitdiff可以。

在这里插入图片描述

它打印出来的内容是unix通用的diff格式。简单说一下,a和—代表改动前,b和+++代表改动后;-1代表改动前的第一行内容,+1代表改动后的第一行内容(如果后面跟数字代表连续几行)。接下来对文件进行提交,可以自己再使用该命令查看是否有变化。

二.版本回退

之前我们也提到过,Git能够管理⽂件的历史版本,这也是版本控制器重要的能⼒。如果有⼀天你发现之前前的⼯作做的出现了很⼤的问题,需要在某个特定的历史版本重新开始,这个时候,就需要版本回退的功能了。

执⾏ git reset 命令⽤于回退版本,可以指定退回某⼀次提交的版本。要解释⼀下“回退”本质是要将版本库中的内容进⾏回退,⼯作区或暂存区是否回退由命令参数决定。

git reset 命令语法格式为: git reset [–soft | --mixed | --hard] [HEAD]

1.soft:只回退版本库中的内容。
2.mixed:除了版本库,暂存区的内容也会回退。(默认选项)
3.hard:回退所有区内容。(慎用)
4.HEAD:表示回退到当前版本(加^回退到上一版本,加^^回退到上两个版本)

演示:回退到哪个版本就输入哪个版本的commit ID

在这里插入图片描述

可以看到当前目录里只剩下了ReadMe,其它几个文件都不见了。这是因为我们使用了hard,退回到了第一个版本,将我们的工作区也回退了,所以hard选项要慎用。(那么我们能否回到回退之前的版本呢,答案是可以的)。

在这里插入图片描述

这是因为之前使用git --log时,把两个版本的commit ID都打印了出来(当前终端并未把之前的commit ID清除掉),所以我们可以通过这个ID再次回退。

为什么版本回退很快

因为它只需要通过commit ID修改Master所指向的版本对象即可。

在这里插入图片描述

三.撤销修改

如果我们在我们的⼯作区写了很⻓时间代码,越写越写不下去,觉得⾃⼰写的实在是垃圾,想恢复到上⼀个版本.

1.情况一:没有add

此时可以用上面的办法进行版本回退,当然这有一个更简单的方法——git checkout – [filename],它会自动回退到上一次提交。

在这里插入图片描述

2.情况二:add了但没commit

此时可以使用上文的HEAD参数再加mixed参数回退暂存区,接着就是情况一了。

在这里插入图片描述

3.情况三:commit后

前提:此时代码没有push到远程仓库,本次撤销才算有效。因为在企业里运行的代码都是在远程仓库里,而撤销的目的就是为了防止错误的代码被提交到远程仓库,在这个前提下回退很简单,使用hard选项即可。

在这里插入图片描述

在这里插入图片描述

四.删除文件

1.方法一

例子:如果你已经把file3提交了,但在工作区删除了file3,此时只是工作区里的file3没有了,但暂存区里还有。

在这里插入图片描述

此时需要继续提交,当git发现提交的file3在工作区已经没有后,会自动把暂存区里的删除

在这里插入图片描述

2.方法二

使用git提供的git rm指令,可以同时删除工作区和暂存区代码。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

咸蛋挞

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

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

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

打赏作者

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

抵扣说明:

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

余额充值