我需要从跟踪中排除一个文件夹(名称上传)。我试着跑
git rm -r --cached wordpress/wp-content/uploads
之后我添加了 .gitignore 的路径
/wordpress/wp-content/uploads
但当我跑的时候git status
它们显示为已删除。如果我尝试提交更改,这些文件将被删除,而不仅仅是从跟踪中删除。
我究竟做错了什么?
我也尝试过
git update-index --assume-unchanged <file>
但这似乎只取消跟踪文件。但我需要从跟踪中删除整个文件夹(包括子文件夹)。
我在谷歌搜索“git 从跟踪中删除文件夹”时遇到了这个问题。 OP的问题引导我找到答案。我在此总结一下,供后人参考。
Question
如何从 git 存储库中删除文件夹而不将其从本地计算机(即开发环境)中删除?
Answer
步骤 1. 将文件夹路径添加到存储库的根目录.gitignore
file.
path_to_your_folder/
步骤 2. 从本地 git 跟踪中删除该文件夹,但将其保留在磁盘上。
git rm -r --cached path_to_your_folder/
步骤 3. 将更改推送到 git 存储库。
从 Git 的角度来看,该文件夹将被视为“已删除”(即它们位于过去的历史记录中,但不在最新的提交中,从该存储库中提取的文件将从其树中删除),但保留在您的工作目录中因为你用过--cached
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)