【发布时间】:2019-02-12 02:11:45
【问题描述】:
我有一个基于 CMS 的项目,我通过直接更新测试站点(复制文件)来保持同步,然后在测试后将这些文件复制到生产站点。它很笨拙并且容易出错。因此,我添加了一个 Gitlab 存储库,以便更有效地维护这些站点。我将生产文件复制到存储库,然后将存储库克隆到我的开发机器。我现在正在跟踪并将我的更改从我的开发机器提交到 Gitlab 存储库。
我的问题是我现在希望能够使用 git 将 Gitlab 存储库中的更改提取到测试和生产环境中。但我不知道如何让这些环境“意识到”Gitlab 存储库中的变化,而不是从存储库的“克隆”开始。我只想为每个环境添加 git 控件,然后开始拉取和合并这些更改。
有没有办法在没有克隆的情况下初始化每个环境,从而可以从 repo 中获取更改?
我使用 git init 命令将 git 添加到测试环境(远程服务器)以创建一个空的本地存储库,然后设置源并从存储库中提取。但我不确定这是正确的步骤。如果是这样,那么我如何确定与“拉”和本地文件有什么不同?这就是我卡住的地方。
我希望我可以比较本地文件和从 repo 中提取的文件之间的差异,然后合并我知道不同的几个文件。然后,接下来我需要做的就是在每次将开发更改推送到存储库时拉入更改。现在我的困惑是如何比较和同步更改,因为没有克隆来设置文件的基线。
【问题讨论】: