我刚刚加入了一个项目,该项目有一个在没有 git 的情况下运行了一年的实时服务器。过去,所有者/开发人员亲自进行所有代码更新,没有版本跟踪。然后他开始使用 git(使用 gitlab 帐户)来跟踪他的更改(但不用于将更改推送到服务器。)所以在我到达那里之前,经理将站点的副本添加到 gitlab,并开始创建问题和功能分支. 现在,他想开始使用 git 将代码更改推送到生产服务器。我们有两个问题:
- 实时生产服务器文件夹不包含 git 存储库。
- 启动 gitlab repo 后,修改了实时生产服务器文件夹中的一些文件以修复错误。
我需要在实时生产服务器文件夹中添加一个 git 存储库,合并所有实时和远程代码,并在不破坏站点的情况下推送一个生产分支(包含所有功能和生产错误修复)。
到目前为止,这是我的程序:
- 创建实时生产服务器文件夹的副本。
- 将 .gitignore 文件从 gitlab 复制到新文件夹。
- 在那个新文件夹中初始化一个 git repo。
- 设置一个遥控器,指向 gitlab。
- 添加并提交并将该分支推送到 gitlab。
- 比较文件(在 gitlab 中推送的分支和主开发分支之间。)
- 在 gitlab 中创建一个包含所有修复和更新的最新生产分支。
- 将 .gitignore 文件复制到实时生产服务器文件夹。
- 在实时生产服务器文件夹中初始化一个 git repo。
- 添加并提交
- 在 gitlab 中签出并跟踪生产分支。
请告诉我此程序是否有效,让我知道是否应该更改其中任何一个。另外,我怎样才能最大限度地减少中断生产的变化?我应该注意哪些潜在问题?
在这种情况下,让现场站点在白天停机一两分钟不是问题,但我仍然希望有一些好的说明可以最大限度地减少停机时间。
编辑 =================
我目前正在进行第 5 步。我创建了复制文件夹以限制在实时生产服务器文件夹上执行的操作。我想限制对实时生产服务器文件夹的更改,以降低我们意外破坏生产站点的风险。在最终确定的方向中,可能不需要创建额外的文件夹。(或者是吗?)