我不想托管我在Github上的公共存储库中创建的网站的源代码.我不想公开,所以我也可以向其他人显示源代码,但是有些文件我不想保密.可能包含密码等的文件(例如连接到数据库时).有没有办法做到这一点?
ade*_*hox 12
尽管正如@aspyct 所解释的那样,将密码保存在存储库中是一种不好的做法,但我想补充一点,并非所有人可能想要在存储库中保密的所有内容都是密码,例如,人们可能想要开发新功能但不公开直到它完成(或者可能永远不会暴露它)。
在这些情况下,我们可以创建两个远程存储库,它们都与同一个本地存储库相关联,但每个都对应于不同的分支。这是一个分步说明:
myrepo
和另一个privates.myrepo
。使myrepo
公共存储库和privates.myrepo
私有存储库。git init
.git remote add <remote_branch_name> <remote_repository_address>
Run Code Online (Sandbox Code Playgroud)
在我们的例子中,它变成:
git remote add origin https://github.com/<YOUR_USERNAME>/myrepo.git
Run Code Online (Sandbox Code Playgroud)
推: git push -u origin master
现在向本地存储库添加一个分支并切换到它: git checkout -b private_work
git remote add privates https://github.com/<YOUR_USERNAME>/privates.myrepo.git```
Run Code Online (Sandbox Code Playgroud)
private_work
分支推送到privates
远程:git push -u privates private_work
在此处阅读有关其工作原理的更多解释:https : //24ways.org/2013/keeping-parts-of-your-codebase-private-on-github/。我也从他那里学到了这一点。
在此处查看所有这些步骤的很酷的终端显示记录:http : //showterm.io/04130676d3401229e7df6
此外,您可以像alias private_push='git push -u privates private_work
在启动脚本中一样添加别名.bashrc
,以防您在 Linux 上,以降低将私有工作错误推送到公共存储库的机会。
哈。
asp*_*yct 10
我看到三个选择:
要么将这些文件添加到您的文件中.gitignore
,请不要将它们提交到存储库中.您可以选择为这些文件提供模板(类似config.php.example
),供其他人自定义.这样,他们可以保持配置并轻松地进行更改.
或者将这些文件放在存储库之外,并使用相对路径引用它们. define('CONFIG_DIR', '../config/');
或者你把这些文件放在一个git子模块中.虽然这会有点长;)
作为参考,Symfony框架(PHP)使用第一个选项并提供配置模板.
我在许多项目中成功使用了选项2,它只是有效,但用户不太友好.
从未在这种情况下使用选项3,子模块可能不是最好的工具.它可以工作......
归档时间: |
|
查看次数: |
4538 次 |
最近记录: |