我有一个本地目录:网络(我做的地方git init
)。
- 我在目录:网络内添加了另一个目录:Aruba(其中包含 *.pdf 文件)
- 对目录中已经存在的文件进行了一些更改:网络
- 添加了 .gitignore 文件,其中只有两行(第 1 行 *.pdf,第 2 行 *.mp4)
- 我做到了
git add .
,git commit -m 'updated aruba_controller.md'
最后git push
。 - 它仍然推送我的 pdf 和 mp4 文件。为什么?
- 删除了目录 Aruba,经过一些谷歌搜索后应用了命令:
git rm --cached -r ~/Documents/Networking/Aruba/
现在我收到了错误:fatal: pathspec '/home/UserName/Documents/Networking/Aruba/' did not match any files
- 从垃圾箱中恢复目录 Aruba,运行#6 中的命令,结果相同。
我使用的是 ubuntu 24.04。我该怎么做才能解决这个问题?我不想将我的 pdf 和培训视频上传到 GitHub。谢谢
您可以检查以下几件事:
确保您的 gitignore 文件位于项目的根目录。
查看git的文档,rm --cached -->
使用此选项可仅从索引中取消暂存并删除路径。工作树文件(无论是否已修改)都将保留不变。
从表面上看,它可能仍在推送你的文件,因为你的 gitignore 文件不在正确的位置,或者你可能没有正确使用 rm --cached 命令。你可以使用 git diff 或 git diff --cached 进行进一步调查。
但是,我会使用更直观的方式,以便在提交之前更好地查看暂存区中发生的情况。使用 VSCode 中的 Git Pull 请求和/或源代码控制区域可以成为您确定为什么仍要推送这些文件的最佳助手。如果有帮助,请告诉我!:)