git


1, git tag 记录当前版本库状态

1.1 给最近一次提交打个标签,git 里面叫“里程碑”。

1.2 对 git tag 的初次理解:

对当前最近一次 commit ID 进行记录来实现对当前版本库状态的保存

用下面的操作就验证一下:

可以看出这个 tag 跟 master 都处于 refs 下面,我的理解就是他只是对版本库当前状态的一个引用而已。


2, git 删除文件:

2.1 保存当前版本库、暂存区、工作区的状态,以便进行后面不同的实验:


这里使用 git stash apply 是因为 git stash apply 在恢复的时候不会从 git stash list 中删除,以便多次恢复。

2.2 直接执行 rm 进行删除:


在工作区直接删除文件对暂存区、版本库没有任何的改变,文件依旧存在。

2.3 执行 git rm 删除文件


commit 到版本库:

提交以后我们可以通过:

git ls-files --with-tree=HEAD^ 查看提交前的 tree ,发现文件依旧存在版本库中。

git cat-file -p HEAD^:welcome.txt 查看被删除的文件在被删除前的内容。

git rm 删除文件会影响到工作区以及暂存区,提交以后会直接影响到版本库,但不影响提交以前版本库的目录结构。

2.4 恢复删除的文件:

2.4.1 git cat-file -p HEAD^:welcome.txt > welcome.txt

这里我有个疑问:在恢复welcome.txt之前不是已经把文件删除掉了吗?为什么 git ls-files --with-tree=HEAD^ 却显示删除提交前的目录里面会有这个文件呢?

查看历史目录树看看是神马问题:

奇怪,无论我用HEAD^还是882ed4b,都显示有welcome.txt文件,这里我也没有搞懂,郁闷。。。

不服气,重来,看看是神马问题!

2.4.2 这次直接从之前的提交中 checkout 出来:


提交:

依旧是这样,没搞懂,超郁闷。。。。。

3,移动文件,给文件改名:

撤销之前的改名:

o(∩_∩)o 哈哈,welcome.txt 文件又回来了。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值