如何将已经提交到远程仓库的文件或目前添加到gitignore
git rm
命令用于从git仓库中删除特定文件或目录。 git rm
的主要功能是从索引中删除被跟踪的文件(removing tracked files from the index)。 git rm
还可用于从暂存索引和工作目录中删除文件(removing files from both the staging index and the working directory)。
注意:
git rm
不能只删除本地文件夹,如果单纯的删除本地文件,请使用rm -rf
git rm
不能删除分支,删除分支请使用git branch -d <branch>
git rm 基础用法
files | 指定删除的文件 |
---|---|
-f --force | 如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f |
-r | 递归删除 |
--cached | 只删除暂存区或分支上的文件, 但本地不删除, 只是不希望这个文件被版本控制 |
-q --quiet | 静默删除 |
将已经删除的提交到gitigore
根据上面介绍的基础用法得知,我们可以使用 --cached
.
操作演示如下: 比如,有个prod.yaml 涉及保密信息,但是已经提交到远程仓库,系统提交到gitignore、
# 删除文件
git rm -r --cached prod.yaml
# 将prod.yaml添加到.gitignore
# 保存提交即可
git add .
git commit -m "prod.yaml add gitignore"
git push