我需要从本地工作目录中删除跟踪文件的目录,但不能从远程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应该忽略删除,它对索引没有影响。

08-26 13:04