Git学习之修改最后一次提交、删除文件、重命名文件


Git学习之修改最后一次提交、删除文件、重命名文件


1. 修改最后一次提交

我们在实际开发中,难免会遇到如以下的情况:

  • 当我们commit提交了后,发现有些文件漏传了,没有提交
  • 提交后觉得这次提交的说明不够详细,想修改
  • 本不想提交,却不小心提交了

遇到诸如此类的情况,我们有没有办法修改最后一次提交呢?答案是:有,你可以使用上一篇文章所说的reset回滚快照实现,但是这是不是有点大题小作了,有没有更加简单的方法呢,答案是:有,你要相信Git足够强大,Git提供了以下的命令:

git commit --amend

使用这么命令就可以修改最后一次提交,而且不会添加新的版本快照,为了测试,我先提交了一次,然后我们使用git commit --amend,修改提交声明。
在这里插入图片描述
然后我们使用git commit --amend会进入到这个修改的界面,ij进入插入编辑状态,Esc退出编辑状态,shift + :进入指令状态
wq保存退出,都是linux下的vim操作。
在这里插入图片描述
你也可以使用git commit --amend -m"注释"直接修改
在这里插入图片描述
再次查看是否现在仓库里就存在一个快照:
在这里插入图片描述
可以看到就是一个快照,而且提交声明就是我们最后一次修改的内容。


2. 删除文件

如果你想删除一个文件,比如:一不小心就放到工作目录的不可描述的,难以置信的小图片。我们首先想到的是,直接手动删除这个文件,我们试试,删完后,我们查看下状态:
在这里插入图片描述
不好意思,只要加入了Git的跟踪,你的操作都会被察觉,这里可以看到,Git提示你,删除了一个文件,建议使用git add/rm <file>更新删除操作,或者git checkout -- <file>来丢弃你的删除操作,回滚文件,这里我们先把文件撤销回来,使用checkout.
在这里插入图片描述
文件搞回来之后,我们再次运行git status可以看到工作区又是clean的了。
但是还是没解决我们的我们的问题啊:Git到底如何删除文件?答案是:git rm <file>
这里我们用一张图片测试,图片,嘿嘿。先添加到暂存区,再提交。
在这里插入图片描述
现在使用git rm <file>删除
在这里插入图片描述
我们到工作目录下看下:
在这里插入图片描述
看下状态:
在这里插入图片描述
它提示我们,删除了一个文件,这里的删除是将工作区和暂存区的文件删除了,仓库还有这个文件,所以它提示我们,如果想从仓库中删除这个文件,可以使用之前我们说的软回退git reset HEAD <file> ..将HEAD指针指向上一个版本,即使回退。
这里有一个问题,如果你编辑的是一个文件,你修改了工作区的文件的内容,从而跟暂存区不一样,这时候你想删除这个文件,如下图:
在这里插入图片描述
在这里插入图片描述
Git会提示你一个错误,说这个文件在工作区和暂存区的内容不一致,你需要注意以下。如果你真的想删除这个文件也是可以的,直接强行,强行你懂的。使用git rm -f <file>


3. 重命名文件

当我们由于需求而需要修改文件名时,就涉及重命名文件,这里我们先手动的改动一个文件(words---->new_words)的名字,然后观察下状态:
在这里插入图片描述

Git提示删除了一个名为words的文件,然后新建了一个名为new_words的文件,实际我们只是改了个名字,好像Git并不是那么聪明。这里我们使用checkout 恢复下文件 。

在Git中我们重命名一个文件呢?有点类似linux中的重命名命令:

git mv <旧的名字> <新的名字>

在这里插入图片描述
看下工作目录:
在这里插入图片描述

参考于小甲鱼博客和Git手册,用于学习的目的,水平有限,有错误的地方可以联系邮箱:breeziness123@Outlool.com
一缕清风
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

坂田民工

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

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

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

打赏作者

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

抵扣说明:

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

余额充值