Git 版本大敏感文件但仅限本地

Git Version Large Sensitive Files but Only Locally

我希望为我放置在 .gitignore 文件中的大型敏感数据文件添加版本控制。前任。我的存储库的结构如下:

project/
    script1.py
    script2.py
    data/
        sensitive_large1.txt
        sensitive_large2.txt

带有 .git忽略文件:

data/

但是,我仍然希望能够在本地对这些敏感文件进行版本控制,以跟踪对它们所做的更改。我查看了 git 个子模块,但不确定这是否能解决我的问题。如果我在数据目录中 运行 git init submodule 是否足以在本地跟踪这些文件,或者是否有更好的解决方案?

您不需要(也许不应该)为此使用子模块。但是您可以在 data 目录中初始化新的 git 存储库。所以你最终会有 2 个存储库,彼此没有连接:

  1. 项目根目录中的主存储库,包含除 data 目录之外的所有内容(在 gitignore 中应被忽略)。
  2. data 目录中的私人存储库,包含所有敏感数据。

您正在将第一个存储库中的更改推送到远程,而第二个存储库只是本地的。