指令太多记不住,想着直接水一篇文章,以后自己也好找。
开发过程中常遇到发现某些新文件,需要移除的时候,我们会更新 .gitignore
文件以来忽略这些文件,但是更新后,只会是之后不再同步,远端仓库依旧有这些文件,所以针对略微强迫症的我,就会有点暴躁。
如果你更新了 .gitignore
文件以忽略一些文件。
但是这些文件已经被添加到 Git 仓库并推送到远程仓库,你需要从远程仓库中删除这些文件。
更新 .gitignore
文件 {#%E6%9B%B4%E6%96%B0-.gitignore-%E6%96%87%E4%BB%B6}
首先,确保 .gitignore
文件已正确配置,忽略你不希望跟踪的文件和目录。例如:
# 忽略所有的 .log 文件
*.log
删除已追踪的文件 {#%E5%88%A0%E9%99%A4%E5%B7%B2%E8%BF%BD%E8%B8%AA%E7%9A%84%E6%96%87%E4%BB%B6}
尽管你已经更新了 .gitignore
文件,但是 Git 仍然会追踪已经被添加到 Git 仓库的文件。为了从 Git 仓库中删除这些文件,可以使用以下命令:
git rm --cached <file_or_directory>
例如,如果你想删除所有已被 .gitignore
忽略的文件,可以通过以下命令:
git rm --cached -r .
这将递归删除当前目录下所有文件的缓存,同时保留文件在本地磁盘中的副本。
提交更改 {#%E6%8F%90%E4%BA%A4%E6%9B%B4%E6%94%B9}
删除了缓存的文件之后,你需要提交更改:
git commit -m "移除忽略文件"
推送更改到远程仓库 {#%E6%8E%A8%E9%80%81%E6%9B%B4%E6%94%B9%E5%88%B0%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93}
最后,推送这些更改到远程仓库:
git push origin <branch_name>
例如,如果你在 master
分支上工作:
git push origin master
重新推送本地文件 {#%E9%87%8D%E6%96%B0%E6%8E%A8%E9%80%81%E6%9C%AC%E5%9C%B0%E6%96%87%E4%BB%B6}
git add .
git commit -m '提交文件'
git push