git命令讲解之移动文件git mv与移除文件git rm

171 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 N 天,点击查看活动详情

移除文件git rm

注意事项

  • 该命令检测不到未跟踪的文件,因为git 本身就无法检测到。
  • 命令后面可以列出文件或者目录的名字,也可以使用 glob 模式 。其中为转义符,用到`glob`模式中的某些特殊字符时应该使用将他转义表明该字符并不是操作符。比如:原本路径在git中应该为*.log。但是要在命令中书写时,应该写为*.log。因为*在glob模式中是表示匹配任意除/之外的字符。

glob模式

具体请看Glob 模式 - Savorboard - 博客园 (cnblogs.com)

作用

git rm [file...]命令用于将未修改状态的文件从暂存区移除,并将它在工作区中移除。在下一次提交之后,指定文件将不会出现在git的当前版本中。

而已暂存和已修改的文件是无法使用该命令移除的。移除会报出如下错误

image.png

当移除一个目录时,git并不允许移除,而是爆出以下错误

image.png

说明要使用-r选项

-r当给定前导目录名时,允许递归删除。

-f选项,则是使得该命令可以将任何已跟踪的文件从暂存区和工作区删除。

--cached选项,则是将任何已跟踪的文件从暂存区删除,保留工作区内容。

-n选项,不实际移除,仅仅是看有哪些东西会被移除。

-q选项,取消该命令的输出。

移动文件git mv

该命令用于移动或重命名一个文件、目录或软连接,并且追踪该文件,不过该文件若是未追踪状态的,那该命令无法成功运行。

git mv [file] ... [目录]该命令可以将一个文件移动到另一个文件夹下。选项以及原理和下面的命令类似,只不过功能不同。

git mv [file] [newfile]该命令可以重命名一个文件。

若是新文件名已经存在,则该命令失败

-f该选项可以让git mv强制重命名,无论新文件名是否已经存在

-n该选项表示仅仅是看可以改哪些文件,不实际修改。

-v使得命令的输出更为详细。

-k跳过可能导致错误情况的移动或重命名操作。

句末语

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 N 天,点击查看活动详情