将git repo与服务器更改同步

时间:2016-03-24 13:55:10

标签: git

我在存储库中有一个项目。

程序员(不是我)直接更改了服务器上部署的代码,而不是编辑Git控制的存储库(已经进行了很多更改)。 所以现在存储库有一个旧版本的代码。

在这种情况下我该怎么做?

我是否应该创建一个新的空分支,从那里的服务器复制代码然后按照here描述的那个分支master? 或其他什么?

1 个答案:

答案 0 :(得分:1)

我认为首要任务是将代码转换为git。我会将生产中的代码视为新的开发工作。

  • 从您当前的主/开发分支创建一个新分支。假设您的服务器是主分支的结帐:
    • git checkout -b prod-edits origin/master
  • 将生产编辑提交到该分支,就像典型的代码更改一样。
    • git add -A
    • git commit -m "Production edits"
    • git push origin prod-edits
  • 然后,我将通过您通常为功能分支执行的任何工作流程,例如合并到测试分支,QA,合并为主。
  • 下一步是启动。如果你通过将master直接拉到服务器上来“手动”启动,我会删除编辑并下载最新版本。 这是将在生产中更改代码的破坏性步骤,因此在目录和符号链接的副本完成之后,请执行此操作。 准备好备份等等
    • cp -r /path/to/code /path/to/current
    • cd /path/to/current
    • git reset --hard && git pull
    • rm -fr /path/to/code && ln -s /path/to/current /path/to/code