我知道类似的问题已被多次询问,但我无法让它适用于我的案例。
我在哪里: 我有一个本地存储库,我推送到实时服务器,其中包括 /content 文件夹及其子文件夹。在制作过程中这没问题,因为我可以对 /content 进行更改并推送它们。但由于这是一个使用 CMS 的网站,所有对 /content 的更改现在都将远程生成。
我想去的地方: 我现在想从代码库中“分离” /content 及其子文件夹,这样我就可以在本地删除庞大的 /content 文件夹,而不会在实时服务器上将其删除。这样我仍然可以对代码进行更改并将它们推送到服务器,而人们可以使用 CMS 在 /content 文件夹中创建文件和更改。
所以到目前为止我做了什么:
- 将文件夹添加到 .gitignore:
/content/
- 从索引中删除文件夹:
git rm -r --cached content/*
- 尝试设置假设不变,以便在推送时不会从实时服务器中删除 /content 中的文件:
git update-index --skip-worktree
当我这样做时,我当然会得到:
致命:无法标记文件
由于文件位于 .gitignore 中,并且它们需要保留在那里,以便将来忽略该文件夹。那我该怎么办?