如何git忽略远程分支上的文件git

How to gitignore a file on remote branch git

我有一个分支,其中有一个名为 keys.py 的文件。 该文件包含一些我不想与存储库中的其他人共享的私钥,但我想在存储库中留下一个名为 keys.py 的文件,以便像模板一样使用。我还需要避免跟踪其他人对 key.py.

的更改

我尝试推送模板文件 keys.py 然后我创建了一个 .gitignore 文件来忽略 keys.py 但它似乎没有效果...

我遗漏了一些东西,但我不知道如何解决我的问题...有什么提示吗?

是的,.gitignore 对已添加到存储库的路径没有影响。

对我来说,解决您的问题的最佳方法是在存储库之外拥有真正的 keys.py,例如 $HOME/.appname/keys.py 之类的文件。接下来的问题是您的应用程序如何找到该文件。一个很好的可能性:

  • 在环境变量中配置文件名。
  • 让应用程序查看 $HOME/.appname/keys.py 作为默认值。

非常感谢您的回复! 我以一种棘手的方式解决了这个问题:

  1. 已将 key.py 重命名为 key_template.py
  2. 将 key.py 添加到 .gitignore
  3. 在自述文件中添加了从 key_template.py
  4. 创建 key.py 的说明

据我所知,解决此问题的常用方法是使用 keys.py.example,当有人克隆 repo 时,将其复制到 keys.py 并根据需要更改值(您可以把它写在 README 中)。您可以按照以下步骤完成:

  • 运行 git rm keys.py,因此您在回购协议中的 keys.py 将被删除
  • 在您的 .gitignore 文件中创建或添加行 keys.py
  • 使用默认值
  • 创建keys.py.example
  • git add . 在提交中添加所有这些更改
  • git commit 提交从 repo 中删除文件、示例文件和 gitignore 更改

通常这种值会出现在 .env 文件中,而不是 keys.py。我可以看到您正在使用 python,因此您需要使用 this package.