文本介绍一下如何利用git删除文件。
一.使用linux命令rm删除:
在当前工作区有文件readme.txt,并被git跟踪,且有提交历史。运行如下命令:[Shell] 纯文本查看 复制代码$ rm readme.txt
查看状态截图如下:
分析如下:
(1).readme.txt文件的状态是被删除。
(2).此时工作区中的文件已经被删除,
(3).Changes not staged for commit表明删除文件和新增文件对Git来说都是一种改变,并没有将此改变提交到暂存区。如果要切实在commit提交中也要删除此文件,那么就要首先将此种改变提交暂存区:[Shell] 纯文本查看 复制代码$ git add readme.txt
然后完成此次提交:[Shell] 纯文本查看 复制代码$ git commit -m "delete readme"
二.使用git rm命令删除:
通过纯粹的linux命令删除一个文件需要三个步骤:
(1).rm 删除文件。
(2).将此种改变提交暂存区。
(3).最后进行commit提交。
使用git rm命令可以节省一步,代码如下:[Shell] 纯文本查看 复制代码$ git rm readme.txt
查看一下此时状态:
分析如下:
(1).readme.txt处于deleted状态。
(2).工作区中的文件已经被删除。
(3).Changes to be committed表明此删除改变已经提交到暂存区,如果要切实在commit提交中也要删除此文件,就可以省略git add命令,直接commit提交即可。[Shell] 纯文本查看 复制代码$ git commit -m "delete readme"
三.使用--cached参数:
关于参数单横杠还是双横杠可以参阅Git双横杠和单横杠区别一章节。
前面的rm和git rm都会将工作区的文件删除,如果仅仅想让文件脱离Git的跟踪,可以后面加--cached。
这样工作区的文件不会删除,仅删除暂存区中对应的文件。
代码如下:[Shell] 纯文本查看 复制代码$ git rm readme.txt --cached
rm 'readme.txt'
查看一下状态:
readme.txt处于未跟踪状态,也就是从暂存区删除。
特别说明:处于未跟踪状态只是没有存在于暂存区,历史提交记录中的记录依然存在。