1
fangzhzh 2013-06-30 18:59:54 +08:00
ignore吧, 保存在本地好了.
或者上去前, 加密下 |
2
gracece OP @fangzhzh 比如我有一个 config.php ,在第一次push的时候放个空密码。然后设置为ignore掉之后再把密码写进去这样吗?
|
3
Livid MOD 源代码库里放 config.example.php,然后 .gitignore 里忽略 config.php。
|
7
gracece OP 突然想到为什么wordpress的代码里面只给了 wp-config-sample.php 没有 wp-config.php ,大概也是这样的原因吧。
|
9
lex 2013-06-30 19:38:21 +08:00
build 的时候从 keychain 取。
|
10
fangpeishi 2013-06-30 19:54:39 +08:00
用我们学校的邮箱可以申请到micro 的套餐,好像5个私有。
另外gitcafe目前免费。 |
11
thai9quohs6jae1C 2013-06-30 19:56:28 +08:00
phing 用这个
|
12
Kjuly 2013-06-30 20:34:43 +08:00 4
gitignore一般来说是ignore一些untracked文件(比如生成的二进制、临时文件等)
但如果项目中已经存在了一个已经设置了参数但各参数为空的config文件 那么最好的办法还是使用 git update-index --assume-unchanged config 这样每个本地库对config的修改都不会被track 但服务器端的config文件还在 而且现在越来越多的项目使用Live Build,这就避免了缺失config中的参数带来的Build Failed错误 --- 另外 当你需要为config文件添加新参数的时候 使用 git update-index --no-assume-unchanged config 来重新track文件的修改 提交修改后记得再--assume-unchanged回来 具体使用方法自己可以搜索下 建立一个测试项目试试效果 ;) |
14
timonwong 2013-06-30 21:07:06 +08:00 1
@bcxx
可以用 git attributes 的 filter,不过稍显复杂,每个working directory仍然需要单独设置。 你可以考虑这种办法: 1. 首先还是在 ${git_working_dir}/.gitignore 中排除掉 xxx.conf 2. 使用任意安全的同步方法,维护一个专供config的库 3. 软连接 ln -s ${path_to_real_config_folder}/xxx.conf ${git_working_dir}/xxx.conf |
15
est 2013-06-30 21:38:48 +08:00 3
测试和正式服一般是通过环境变量注入来提供db密码之类的。
|
16
binux 2013-06-30 21:58:13 +08:00
我的做法是在config.py中try一个import local_config.py,local_config.py不提交
|
19
tangzx 2013-07-01 00:17:52 +08:00 1
越来越多的实践采用环境变量,而非本地文件
|
20
tangzx 2013-07-01 00:20:35 +08:00
默认值采用mongodb://localhost/devdb (数据库)这样的本地开发值,这样如果再配合mongo这样无schema的货货。就几乎可以0配置启动开发了,这样对对代码有兴趣的开发者很友好。如果一个项目启动配置都要很麻烦,自然让其他人不想参与其中
|
21
ushuz 2013-07-01 10:37:35 +08:00 2
@fangpeishi 即使私有库也不能该把密码push进去。
这里有一篇亡羊补牢的指南,如果不小心把敏感数据push进去了如何清理。 https://help.github.com/articles/remove-sensitive-data |
22
duhastmich 2013-07-01 13:08:54 +08:00
还有个类似config.example.php 的思路不过可以生成 config.php https://github.com/zweifisch/redact; 环境变量也可以只导出一个变量,APP_ENV=production,然后根据这个变量来加载不同的配置文件
|