问题描述

我意识到这可能是一个广泛的问题,但我正在寻找一些设置/工作流程的具体例子,人们用来保存 WordPress 站点上编辑过的文件的版本历史记录。例如,在开发一个站点 (甚至在实时之后) 时,我经常对 CSS 和 PHP 文件进行更改,但是我没有一种很好的方法来恢复这些文件的旧版本。为了我的目的,对本地开发安装进行更改,然后将这些更改复制到实时站点往往比我想要的更麻烦。有关如何开始使用版本控制工具跟踪对实况网站文件进行编辑的任何建议?

最佳解决方案

我不知道你对使用版本控制有多了解,但我最近从 SVN 切换到 GIT,发现这是非常好的!

虽然这取决于你现场的服务器是否安装了 GIT(或者会让你) 。我在实时服务器上也有一个 GIT 设置,运行一个叫 production 的分支。每当我完成在本地实施/修复某些东西时,我将其合并到 production 分支中,然后将 SSH 并入实时站点的服务器并进行更改。当您不知道是否覆盖更改时,通过 FTP 拖动文件。

我会建议放一些时间,使用 GIT(如果还没有),我发现它比 SVN 更容易和更麻烦,当谈到更改/添加文件的负载 (和 SVN 不同,它不放愚蠢.svn 文件夹无处不在) 。

所以:

当然,我在 Mac 上,如果没有这些适用,那么抱歉。

代码编辑器:Coda 通过端口安装 GIT(使用 Porticus)Git:GitX

如果我把所有东西都设置成新的,我会做的:

  1. 安装 Coda
  2. 安装 Porticus(这将需要您安装端口,但该页面上有信息)
  3. 一旦你安装了 Porticus,打开它,搜索”git-core” 并安装。
  4. 下载并安装 GitX 7-5
  5. 有一个很好的指导,设置一个 git repo here,但基本是:1. 打开终端。 2. cd 到你想要你的网站居住的地方。 $: mkdir mysite && cd mysite 3. $: git init,就是这样!如果您将文件添加到此文件夹,请继续下一步
  6. 一旦您在本地设置了 GIT 存储库 (以上文章),那么如果您在 GitX 中打开该目录,您将可以提交内容等。

在服务器上设置全部可能有点棘手,我有一个 MediaTemple 和一个 Dreamhost 帐户,都有 GIT 开箱即用。 5 中的链接告诉你如何添加一个远程回购,你不必这样做,直到你想把你的现场站点的方程式。我建议在本地首先工作 (不像 SVN,GIT 不需要一个远程存储库,所以你可以暂时放在你的机器上的所有东西)

次佳解决方案

我使用 SVN 进行版本控制,我在 WordPress 开发中做的一切。我实际上是以这种方式开始的,因为我需要用于 plug-in 开发的 SVN … 一旦我开始在这里,这是在客户端站点继续使用 SVN 主题和自定义脚本的自然扩展。

Plug-ins

由于 plug-ins 已经在 WordPress 服务器上托管,所以我只需将 plug-in 直接发送到本地 WordPress 安装的/wp-content/plugins/目录 (我在开发框上运行 WAMP) 。然后我更改我的本地副本,当它准备好播放时,提交到存储库。这是一个顺利的过程,没有上传/下载和即时验证我的变化有效。

Themes

主题有点不同,特别是为客户建立时。我创建一个本地存储库 (我的硬盘驱动器上有一个 R 分区,专门用于此目的),并将空的存储库直接查看到我的/wp-content/themes 目录。然后根据需要进行更改,直到准备就绪,开始修改。

当我准备将主题发布到客户端的生产服务器时,我导出存储库,将其压缩,并使用本机主题>> 在 WordPress 中添加新功能。这适用于自定义 plug-ins(不由 WordPress 托管) 。

Tools

就像我说的,我在本地机器上使用 WAMP 来运行 WordPress 的开发安装。它在我的盒子上完美地工作,并允许我运行尽可能多的 WordPress 实例,因为我需要一个特定的项目。

对于 SVN,我使用 Tortoise SVN 。它是免费的,非常易于使用,并与 Windows 的文件和命令结构集成。更新,提交和导出都是简单的 right-click,选择命令操作。使用”Export” 可以将整个文件夹 (没有烦人的.svn 文件夹) 直接发送到您选择的任何位置 – 我经常导出到桌面。压缩文件夹也是一个 right-click 操作,WordPress 处理上传。

手动传输文件可能是一个麻烦,特别是如果您不断更改一个文件,但不是全部。如果您选择使用”overwrite all” 在整个目录中进行 FTP,则更换旧文件将变得更加容易 (您无需跟踪哪些更改,哪些没有更改) 。这就像 WordPress 旧的 5 分钟安装过的一样 – 只需用新版本替换所有内容。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。