Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)


注:转载请标明原文出处链接:https://xiongyiming.blog.csdn.net/article/details/106112254


1 删除文件


git删除文件用到的命令有以下几种情况:

  1. 命令:rm 文件名 表示删除的是工作区和暂存区的文件。
  2. 命令:git rm 表示删除的是工作区和暂存区的文件。
  3. 命令:git rm -f 文件名 表示当工作目录和暂存区的同一个文件存在不同内容时,执行命令 git rm -f 文件名 就可以强制删除工作区和暂存区的文件。
  4. 命令:git rm --cached 文件名 表示只删除暂存区的文件并且保留工作目录的文件。

下面对上面的几种删除文件方式依次进行实验。


假设工作区和仓库均有 d123.txt 文件,如下图所示:

Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)



1.1 命令——rm 文件名

使用命令:rm d123.txt 删除工作区文件,暂存区和仓库没有被删除,如下图所示:

Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)


如果想继续删除暂存区和仓库的命令,需要提交文件即可,如下图所示:

Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)



1.2 命令——git rm 文件名

使用命令:git rm 文件名 来删除工作区和暂存区的文件,仓库文件不删除,如下图所示:

Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)


如果想删除仓库文件,提交命令至仓库即可,结果如下图所示:

Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)



1.3 命令——git rm -f 文件名

命令:git rm -f 文件名 表示当工作目录和暂存区的同一个文件存在不同内容时,执行命令 git rm -f 文件名 就可以强制删除工作区和暂存区的文件。

假设工作区修改 d123.txt 文件不提交到暂存区(表示工作区文件和暂存区文件内容不一样),然后删除工作区和暂存区文件,发现文件内容不一样,不知道删除哪一个,如下图所示:

Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)


此时需要命令:git rm -f 文件名 来删除两个工作区和暂存区文件,如下图所示:

Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)


如果想删除仓库文件,提交命令至仓库即可,结果如下图所示:

Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)



1.4 命令——git rm --cached 文件名

使用命令:git rm --cached文件名 来删除暂存区的文件并且保留工作目录的文件,结果如下图所示:

Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)


如果想删除仓库文件,提交命令至仓库即可,结果如下图所示:

Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)




2 重命名文件

重命名文件有来两种情况:

  1. 命令:mv 旧文件名 新文件名 表示将工作区文件重命名,暂存区和仓库文件名不变。
  2. 命令(常用):git mv 旧文件名 新文件名 表示将工作区和暂存区的文件重命名,仓库文件名不变。

下面对上面的几种删除文件方式依次进行实验。


假设工作区和仓库均有 d123.txt 文件,如下图所示:

Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)



2.1 命令——mv 旧文件名 新文件名

使用命令 mv 旧文件名 新文件名 来将工作区文件重命名,如下图所示:

Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)


此时工作区文件被重命名,暂存区和仓库文件名保持不变。如需将暂存区和仓库文件重命名,则需要从工作区重命名文件添加到暂存区,然后在提交到仓库即可,如下图所示:

Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)



2.2 命令——git mv 旧文件名 新文件名

用命令 git mv 旧文件名 新文件名 来将工作区和暂存区文件重命名,如下图所示:

Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)


此时工作区和暂存区文件被重命名,仓库文件名保持不变。如需将仓库文件重命名,则需要提交到仓库即可,如下图所示:

Git学习笔记(4): 删除文件(git rm) 和 重命名文件(git mv)






参考资料

[1] https://www.bilibili.com/video/BV1bs411N7ny?p=6
[2] https://blog.csdn.net/qq_42780289/article/details/98353792
[3] https://www.cnblogs.com/413xiaol/p/10555165.html