在我的主目录中,我在本地 git 存储库中有文件,因为我想在版本控制下跟踪它们。
这些文件中的大部分我想推送到远程存储库,但有一些我想只保留在我的本地存储库中(它们包含轻微敏感的信息)。
我如何使用 git 实现这一点?我可以配置一个“.gitignore-for-push
”文件吗?我不能使用本地 .gitignore
文件,因为它会完全排除这些文件被跟踪。
ps:我知道问题Is there an exclude file-equivalent... ,但答案在我无法使用的 .gitignore
路径下。其他问题Exclude specific files when pushing...仅回答 git+heroku 的特定情况,而不是单独的 git。
最佳答案
您可以继续并实际跟踪这些文件(没有敏感信息),但随后使用:
git update-index --assume-unchanged <file>
在每个文件上。然后您可以继续将敏感信息添加到每个文件,但 Git 不会看到文件已更改,并且不会尝试提交(并因此推送)该敏感信息。
要让 Git 再次更新信息,您可以使用:
git update-index --no-assume-unchanged <file>
关于git - 是否可以从 `git push` 中排除文件,但将它们保留在本地存储库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11895712/