Tho*_*wes 2 version-control mercurial tortoisehg bitbucket
我有如下设置.
位于bitbucket的私有存储库,我保留了'master'存储库.我的服务器上的存储库充当"实时"网站.我的笔记本电脑上的存储库充当我的工作副本.
我的流程如下.我对本地存储库中的文件进行了更改.我在当地提交这些.我将这些更改推送到bitbucket.然后我将这些更改从我的bitbucket提取到网络服务器.
然而,我的问题是我的本地副本使用不同的数据库,路径等配置设置,我想要的是我在bitbucket上的'config.php'文件包含服务器设置,以及我本地主机上的config.php包含本地设置.
我相信这可以通过.hgignore实现,但我没有成功研究.我遇到的问题是我制作我的服务器设置文件,将其推送到bitbucket,"忘记"我本地存储库中的文件,创建.hgignore,然后重新创建该文件.然而,当我'忘记'文件TortoiseHG通知并要求我将更改提交到bitbucket ....
任何想法将不胜感激.谢谢
附加点.
根据以下建议,我开发了如下设置:
我的笔记本电脑上有我的本地存储库,我可以在其中进行编辑.我有bitbucket本质上是'主'存储库 - 如果任何其他开发人员加入团队他们克隆这个.我的网络主机上有我的实时存储库.
在我的实时存储库中,我有一个.hgignore文件,它会忽略相应的配置文件.因此,当我hg pull
从我的主机执行操作时,它会使用localhost配置文件按原样提取存储库,但是当我键入hg update
(对于实时工作副本)时,这些文件将被忽略/不更新.
有人可以澄清一下我是否理解这一点,以及这是否是实现我想要的合适方式?
谢谢
.hgignore
如果文件尚未版本化,则仅忽略文件,因此我认为您在问题中的想法不起作用.
关于本地配置的常见方法通常是同一主题的变体,如下所示:
根本不检查config.php
.您可以config.example.php
使用最常用的设置签入,并在README
用户必须将其复制到文档中config.php
然后进行编辑.
将任何共享设置放入config.php
,并添加include语句以指向具有特定于机器的设置的无版本文件,例如config.local.php
.您也可以config.local.example.php
为此提供-file.
与2类似,但config.php
包含所有默认设置,本地文件具有覆盖它们的能力.
签入config.dev.php
和config.server.php
-file含有设置两个环境,然后有一个无版本config.php
,其包括上述的文件中的一个.优点是配置本身是版本的,您可以更新它们.
选择哪种变体,或者您是否进行其他变体取决于您的环境.