Git 使存储库中的某些文件成为私有文件
我想为我在Github上的公共存储库中创建的网站托管源代码。我希望它是公开的,这样我也可以向其他人显示源代码,但是有些文件我希望保持私有。可能包含密码等内容的文件(如连接到数据库时)。有办法吗?我有三种选择:Git 使存储库中的某些文件成为私有文件,git,github,Git,Github,我想为我在Github上的公共存储库中创建的网站托管源代码。我希望它是公开的,这样我也可以向其他人显示源代码,但是有些文件我希望保持私有。可能包含密码等内容的文件(如连接到数据库时)。有办法吗?我有三种选择: 要么将这些文件添加到.gitignore,要么将其提交到存储库中。您可以选择为这些文件提供模板(类似于config.php.example),供其他人自定义。这样,他们就可以保持配置并轻松获取更改 或者将这些文件放在存储库之外,并使用相对路径引用它们定义('CONFIG_DIR','..
.gitignore
,要么将其提交到存储库中。您可以选择为这些文件提供模板(类似于config.php.example
),供其他人自定义。这样,他们就可以保持配置并轻松获取更改
从未在这种情况下使用选项3,子模块可能不是最好的工具。但是它可以工作…我也遇到了同样的问题,并且使用了aspyct解决方案中的#1。我的项目和你的一样是开源的,但也有一些部分包含敏感信息。我做了以下工作:
.gitignore
这样,来自github或在visual studio中查看的任何人都会发现文件丢失,文本文件向他们展示了如何在没有敏感文件的情况下构建应用程序。尽管如@aspyct所述,在存储库中保存密码是一种不好的做法,我想补充一点,并非所有存储库中可能需要保密的内容都是密码,例如,可能需要开发新功能,但在完成之前不公开(或者可能永远不公开) 在这些情况下,我们可以创建两个远程存储库,这两个存储库都与同一个本地存储库关联,但每个存储库对应一个不同的分支。这里有一个逐步的说明:
myrepo
,另一个privates.myrepo
。将myrepo
设置为公共存储库,将privates.myrepo
设置为私有存储库gitinit
private\u work
分支推送到privates
remote:git Push-u privates private\u work
请在此处阅读有关其工作原理的更多说明:。我也从他那里学到了这一点 请参见此处的“酷终端秀”记录所有这些步骤: 此外,如果您在Linux上,还可以在启动脚本(如
.bashrc
)中添加别名(如alias private\u push='git push-u privates private\u work)
),以降低将私人工作错误推送到公共存储库的可能性
HTH.+1建议将敏感文件存储在无版本连接的文件夹中(imho中的子模块不是解决方案,不应将包含密码或敏感信息的文件版本化)。我个人使用选项1,有一个版本连接的配置文件,其中包括一个非版本连接的文件,其中包含敏感配置设置(对于Python应用程序,这里敏感信息是用于签署cookie的密钥),非常感谢您提供的信息!我想我会选择选项1,忽略包含敏感信息的文件的版本控制。
git remote add <remote_branch_name> <remote_repository_address>
git remote add origin https://github.com/<YOUR_USERNAME>/myrepo.git
git remote add privates https://github.com/<YOUR_USERNAME>/privates.myrepo.git```