GIT第四讲 文件的修改和还原

当我们弄清楚Git的几种文件状态之后,这一部分的内容就变得简单了,我们通过一个具体的例子来了解一下GIT的修改和修改还原。首先创建一个新的文件夹并且通过git init将其设置为git的工厂,添加一个a.txt的文件,使用git add .将其设置为Staged状态之后通过git commit -m "first"将其添加到git的版本库中。这些操作相信大家已经能够熟练的掌握了。

下一步我们修改一下a.txt文件,执行git add .再次将其提交到Staged状态,此时我们先不进行commit,我们向a.txt中写入一些内容,使用git status看看情况

git的文件的修改和还原

我们发现a.txt处于两种状态StagedModified,这是因为我们第一次修改进行了add之后它变成了Staged状态,Index对这次操作进行了记录,但此时再次修改了之后,Index发现a.txt的内容和版本库中不一致,所以也将它的状态改为了Modified状态,此时进行commit操作。

git的文件的修改和还原

我们发现,该文件仅仅只是提交了Staged状态的修改,而Modified状态的文件并没有进行提交,这再次证明了上一节课的内容,只有Staged状态才能commit到版本库中,如果是Modified状态,需要先通过add将其设置为Staged状态(也就是第一讲中所说的暂存区)。此时如果我发现我这次的修改没有意义,希望a.txt能够和版本库中的内容一致,只要使用以下命令即可

git checkout a.txt
 
 
  • 1
  • 1

查询一下a.txt,我们会发现该文件的内容已经和版本库中一样了。

git的文件的修改和还原

所以通过checkout可以很方便的让自己的文件同步版本库中的内容,注意使用checkout只能同步modified状态下的内容,此时我们再次对a.txt进行修改,并且通过add进行操作之后,a.txt的文件状态就从Modified变成了Staged状态,我们再来使用checkout看看效果。

git的文件的修改和还原

此时我们发现checkout并不能还原原来的文件内容了(我们将会在下一讲讲解git的三种常用组件,到时候就知道为什么无法还原了)。所以我们得到一个结论checkout命令并不能还原Staged状态的内容,此时可以通过

git reset HEAD a.txt
 
 
  • 1
  • 1

把该文件从Staged状态设置为Modified状态,也就是将这个文件从暂存区中清除。

git的文件的修改和还原

之后通过git checkout a.txt就可以把内容还原了。

这节课的内容就到这里了,只要掌握了git的几种状态之后,这个内容非常好理解。下一讲将会讲解git最核心的知识,就是git最常用的三个组件BLOB、Tree、Commit

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值