Git使用新数据库的最佳做法

时间:2016-01-06 11:24:39

标签: git git-branch

关于Git最佳实践的问题。在制作项目的主要新版本时(在我的情况下它是Codeigniter项目)我面临两个选择:

  1. 创建新分支(例如branch version2

  2. 创建现有项目文件夹的副本,并使其成为新的git项目。

  3. 优点1):version1分支可能正在进行开发,因此最后将它们合并起来会更容易。

    缺点1)(因此2的优点)):version2将使用一个全新的数据库,并且(首先)将托管在不同的登台服务器上。由于我的config文件不是存储库的一部分,因此每次我想在分支之间切换时,我都必须手动编辑数据库config文件。

3 个答案:

答案 0 :(得分:0)

您应该创建一个新分支,如果您不想每次都手动编辑数据库配置文件,您可以多次克隆项目。因此,合并两个版本可能比解决方案2)更容易。

答案 1 :(得分:0)

如果您正在使用Github / Bitbucket / VisualstudioOnline或任何其他此类服务,我会使用Forking而不是分支,分支和分叉之间的区别提到in this SO's question但重要的是在这里说明这几件事:

  • 如果您在第2版中工作,您将无法直接将更改推送到版本1回购,但您需要创建new Pull request
  • 要使版本2 repo与原始版本保持同步,您需要将原始存储库添加为本地存储库中的其他远程存储库,或使用Github sync tool

答案 2 :(得分:0)

当您谈论GIT最佳实践时,我想分享您的一些观点。

  1. 所有文件都应该存在于Git存储库中(目前,您的数据库配置文件不存储在GIT存储库中)
  2. 没有使用分支工作流程(目前没有分支工作流程,这是不正确的)
  3. 解决方案:

    1. Git应包含所有文件(甚至是您的数据库文件)
    2. 应使用功能分支工作流程。
    3. 功能分支工作流为您的问题提供解决方案,您可以在其中创建新的发布分支并将其部署到N1服务器,并将分支2发布到具有不同数据库的N2服务器。

      使用CodeIgnitor时,您可以定义N个环境并在其中指定您的设置。这将帮助您为不同的服务器/环境指定不同的数据库。