我需要从本地工作目录中删除跟踪文件的目录,但不能从远程git服务器中删除。
我尝试过git rm --cached
,但似乎它会将这些更改提交到服务器。我希望文件在服务器上保持跟踪。
任何帮助都将不胜感激。谢谢
最佳答案
git rm
(有或没有--cached
)的问题是,它会在本地索引中暂存目录的删除,使其成为提交的候选目录(这可能会被错误地推送,同时也会删除上游回购中的目录)。
您可以在目录中尝试:
git ls-files | tr '\n' '\0' | xargs -0 git update-index --assume-unchanged
(请参见“
git update-index --assume-unchanged
on directory”)中的更多内容,然后是一个简单的非git命令: rm -Rf yourDirectory
您的git repo应该忽略删除,它对索引没有影响。