动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

30天自动登录
微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

删除Git的操作

07-28 10:45 330浏览
举报 T字号
  • 大字
  • 中字
  • 小字

1.简介

在git里面删除,主要涉及到的有:本地文件删除、本地+远程库文件删除、本地+远程分支删除、本地+远程标签删除,库的删除。关于分支、和标签的删除,可以参考“分支的使用”和“标签的删除”。在这里,主要说一下文件或目录的删除。

2.文件或目录删除

首先,我们需要了解我们通过rm命令删除文件,和我们通过git rm 删除的区别。

直接rm删除 仅仅是删除工作区中对应的文件或目录

git rm删除, 不仅仅删除工作区中对应的文件或目录,还把删除操作添加到暂存区中。

也就是说git rm删除,帮我们屏蔽了删除过程中有关暂存区的操作,因为针对直接rm命令删除后,还需要手动添加到暂存区。

备注:rm删除后,可以通过git add命令或是git rm命令将删除添加到暂存区。

如下图,git rm删除的直接到暂存区了。

如果使用git rm删除git未跟踪的文件,如删除dq.txt,就会报错:fatal: pathspec 'dq.txt' did not match any files。

所以:

如果删除git跟踪的文件,推荐使用git rm命令;

如果删除git未跟踪的文件,还是老老实实使用rm命令。

当然,仅仅执行git rm命令,并不代表在本地库中删除了,要想在版本库中删除,还是需要执行git commit 提交命令的。

比如想删除 page.html文件

 git rm page.html
 git commit -m "删除page.html"

然后,我们通过git log命令找到当前提交对应的tree对象,然后通过git cat-file,可以看到,当前版本库里面,已经没有了page.html 文件了

若想在远程库中,也删除文件,只需要执行git push命令即可。

3.如何仅仅删除版本库中的文件或目录

场景:把工作区某个IDEA的配置文件添加到git版本库里面了,如下,想仅仅是删除版本库里面的findme.xml,保留工作区里面的findme.xml。

这个时候还是需要使用git rm 命令,只是需要加上--cached参数即可。我们可以通过git rm --help,查看帮助文档,解释如下:

--cached

Use this option to unstage and remove paths only from the index. Working tree files, whether

modified or not, will be left alone.

也就是说,git rm --cached只会删除暂存区的文件或是目标,并不影响工作区。然后,我们把暂存区的删除提交到版本库,也就意味着我们删除了版本库里面的某个文件或目录。

针对上面的删除findme.xml,执行如下命令:

git rm --cached findme.iml

然后,我们就可以看到,暂存区中findme.xml文件已经删除,但在工作区里面,它还是存在的。

然后,我们就可以看到,暂存区中findme.xml文件已经删除,但在工作区里面,它还是存在的。

动力节点在线课程涵盖零基础入门,高级进阶,在职提升三大主力内容,覆盖Java从入门到就业提升的全体系学习内容。全部Java视频教程免费观看,相关学习资料免费下载!对于火爆技术,每周一定时更新!如果想了解更多相关技术,可以到动力节点在线免费观看Git入门视频教程哦!

0人推荐
共同学习,写下你的评论
0条评论
杨晶珍
程序员杨晶珍

98篇文章贡献357785字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

Git合并分支

代码小兵34507-28 11:08

Maven中optional和scope元素的使用,你弄明白了?

代码小兵60903-29 15:05

一个IDE的提示,引发了对《Java编程思想》的质疑?

代码小兵64503-29 15:12

什么是SVN

代码小兵49806-15 10:18

简述SVN的工作机制

代码小兵49806-15 10:19

发评论

举报

0/150

取消