【问题标题】:Pull Project from Server locally and merge it with an existing project从本地服务器拉取项目并将其与现有项目合并
【发布时间】:2017-06-18 12:20:54
【问题描述】:

我的问题不是技术问题,更像是来自更有经验的 GIT 用户的建议。

因此,我们的团队在 服务器 中有 2 个目录,一个用于 staging 测试我们所做的更改,另一个用于一个是公共目录,我们可以在其中找到实时网站的文件。到目前为止,我们使用 FTP 来更新公共目录上的文件,但现在我们切换到 GIT 以便我们可以跟踪我们的更改。

我使用钩子设置 GIT 环境,以便当我们从本地暂存存储库推送一些更改时,它们会自动部署到服务器上的暂存目录。现在我想对 public 目录做同样的事情,但是 一些文件(也许我的工作树也会有问题?)在 StagingPublic 是不同的,我也不想丢失已经在本地暂存存储库中进行的提交。

您认为进行这种转换的最佳和最有效的方法是什么?

我对程序的想法是这样的:

  1. 克隆服务器上托管的公共项目,
  2. 从服务器(公共)获取或合并我的本地存储库到克隆的存储库
  3. 现在我有一个单一的存储库,我可以将更改推送到服务器并强制推送(在开始时)到暂存区。

你觉得这样好吗?

【问题讨论】:

  • 一句话,分支。这是分支非常适合的那种情况,然而,您的登台和生产设置应该相同
  • @LukeBriggs 谢谢你的提示!你能简单描述一下这样的基本模型吗?
  • 当然 - 我想不同的文件是配置文件?更改任何必要的内容以使配置(并尽可能)相同。如果这真的不可能,那么您的存储库将是测试代码,可以选择使用您的登台服务器签出的stable 分支(或签出master)。然后你的马厩的另一个分支(例如production)将包含必要的修改文件。

标签: git server fetch production-environment staging


【解决方案1】:

您可以使用内容过滤器驱动程序以便在结帐时自动生成这些文件。

请参阅“Best practice - Git + Build automation - Keeping configs separate”:您将版本为afile.stagingafile.prod,但在结帐时生成afile,具体取决于您当前的环境。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 1970-01-01
    相关资源
    最近更新 更多