如何仅为git repo中的某些用户提交文件?
我很肯定人们以前也遇到过这个问题,但我找不到任何解决办法 我一直在开发一个android库,并计划通过将其放在GitHub上实现开源。然而,我只想将maven upload creds公开给一些特定的授权用户——库的核心维护者 这怎么可能?如果我将用户名和密码存储在一个文件中并将其添加到gitignore,我将无法通过GitHub与其他任何人共享它。然而,如果我真的把这个文件添加到git中,它最终将成为一个公共回购协议,并与所有人共享 是否有某种方法可以在git中指定一个给定的文件只能由电子邮件ID位于指定列表中的人访问?我是否遗漏了一些非常明显的东西 然而,我只想将maven upload creds公开给一些特定的授权用户——库的核心维护者 你不能。Git不是身份验证管理器。它不针对每个文件进行操作,只针对每个提交进行操作 还有其他选择如何仅为git repo中的某些用户提交文件?,git,github,git-commit,Git,Github,Git Commit,我很肯定人们以前也遇到过这个问题,但我找不到任何解决办法 我一直在开发一个android库,并计划通过将其放在GitHub上实现开源。然而,我只想将maven upload creds公开给一些特定的授权用户——库的核心维护者 这怎么可能?如果我将用户名和密码存储在一个文件中并将其添加到gitignore,我将无法通过GitHub与其他任何人共享它。然而,如果我真的把这个文件添加到git中,它最终将成为一个公共回购协议,并与所有人共享 是否有某种方法可以在git中指定一个给定的文件只能由电子邮件
- 将共享凭据放入加密文件中。提交该文件。分发解密密钥。这类似于
- 使用共享机密库,如或。这样做的好处是永远不会在公共存储库中公开您的凭据,即使是加密的
在这两种情况下,无论您的项目有多少共享机密,您只需要共享一个机密、解密密钥或共享vault访问。我将采用我能找到的最直接的方法 我将在local.properties文件中存储敏感数据,该文件未签入版本控制。这对我的项目有效,因为目前我是唯一的管理员。如果有更多的人加入,我需要手动与他们共享文件的内容,但我现在没问题
此解决方案不适用于具有更多协作者的团队,或者可能需要动态分配/更改此类角色的团队。Git不处理文件。Git对提交进行操作。每次提交都会保存每个文件的完整快照,您可以分发整个提交,也可以不分发。因此,不要将私有文件放入存储库。另请参见.git不是适合此工作的工具:您永远不应该将凭据作为代码的一部分提交。然后,问题变成了“我如何管理代码所需的凭据?”这对于这个网站来说太宽泛了,但是如果你看的话,你应该能够在网上找到很多关于它的文章。