指令太多记不住,想着直接水一篇文章,以后自己也好找。

开发过程中常遇到发现某些新文件,需要移除的时候,我们会更新 .gitignore 文件以来忽略这些文件,但是更新后,只会是之后不再同步,远端仓库依旧有这些文件,所以针对略微强迫症的我,就会有点暴躁。

如果你更新了 .gitignore 文件以忽略一些文件。

但是这些文件已经被添加到 Git 仓库并推送到远程仓库,你需要从远程仓库中删除这些文件。

更新 .gitignore 文件

首先,确保 .gitignore 文件已正确配置,忽略你不希望跟踪的文件和目录。例如:

# 忽略所有的 .log 文件
*.log

删除已追踪的文件

尽管你已经更新了 .gitignore 文件,但是 Git 仍然会追踪已经被添加到 Git 仓库的文件。为了从 Git 仓库中删除这些文件,可以使用以下命令:

git rm --cached <file_or_directory>

例如,如果你想删除所有已被 .gitignore 忽略的文件,可以通过以下命令:

git rm --cached -r .

这将递归删除当前目录下所有文件的缓存,同时保留文件在本地磁盘中的副本。

提交更改

删除了缓存的文件之后,你需要提交更改:

git commit -m "移除忽略文件"

推送更改到远程仓库

最后,推送这些更改到远程仓库:

git push origin <branch_name>

例如,如果你在 master 分支上工作:

git push origin master

重新推送本地文件

git add .
git commit -m '提交文件'
git push