linux - 使用 GIT 在本地服务器和实时服务器之间同步网站文件?

标签 linux svn git version-control workflow

假设我有两台 Web 服务器,一台是本地开发的,一台是实时的。

在 SVN 下,我会将网站文件 check out 到本地网络服务器的 public_html 目录以及实时网络服务器的 public_html 目录。然后,我将直接在本地服务器上处理文件,并将任何更改提交到中央存储库。

当我准备好让这些更改在实时服务器上生效时,我会通过 SSH 登录并执行 SVN 更新。

基本上,我有两个工作副本,一份是实时的,一份是本地的,尽管其他用户也可能在其本地计算机上有工作副本。但实时服务器上只会有一份工作副本。这样做的原因是,每次我们想要发布更改时,我们都可以在实时服务器上执行 SVN 更新。

如何使用 GIT 完成类似的工作流程?

最佳答案

要对当前的工作流程进行几乎完全相同的建模:

  • 设置 git 存储库。
  • 在服务器和本地克隆存储库。
  • 在本地工作
  • git 推送到 git 存储库
  • 通过 ssh 连接到服务器
  • git pull。

另一种方法是在 git 中设置一个“生产”分支,有一个 cron 作业不断地在服务器上 pull 该分支,然后随时 merge 并推送到“生产”分支发布您的更改。听起来您需要更具体的分支策略。

参见:Git flow branching model && git flow cli tool

祝你好运!这是 git 非常容易解决的问题。

关于linux - 使用 GIT 在本地服务器和实时服务器之间同步网站文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5186756/

相关文章:

c++ - 程序的内存使用量随着时间的推移而增加,但内存泄漏工具没有报告任何问题

database - 从 Linux shell 与 .db 文件交互

svn - 当我只知道数据库的路径时,如何获取存储在数据库中的颠覆项目列表?

git - TortoiseGit Credential helper 从不为我工作

git 将文件添加到没有父目录的孤立分支

linux - 如何使用 recvfrom() 获取 recvmsg() 返回的标志

linux - 使用 cmake 链接两个相似的库

svn - 在 git 中排除 .svn 文件夹

windows - 将 Subversion 提交消息转换为 Unicode

Git Merge - 二进制文件冲突解决