問題描述
我意識到這可能是一個廣泛的問題,但我正在尋找一些設置/工作流程的具體例子,人們用來保存 WordPress 站點上編輯過的文件的版本歷史記錄。例如,在開發一個站點 (甚至在即時之後) 時,我經常對 CSS 和 PHP 文件進行更改,但是我沒有一種很好的方法來恢復這些文件的舊版本。為了我的目的,對本地開發安裝進行更改,然後將這些更改複製到即時站點往往比我想要的更麻煩。有關如何開始使用版本控制工具跟蹤對實況網站文件進行編輯的任何建議?
最佳解決方案
我不知道你對使用版本控制有多瞭解,但我最近從 SVN 切換到 GIT,發現這是非常好的!
雖然這取決於你現場的服務器是否安裝了 GIT(或者會讓你) 。我在即時服務器上也有一個 GIT 設置,運行一個叫 production 的分支。每當我完成在本地實施/修復某些東西時,我將其合併到 production 分支中,然後將 SSH 併入即時站點的服務器並進行更改。當您不知道是否覆蓋更改時,通過 FTP 拖動文件。
我會建議放一些時間,使用 GIT(如果還沒有),我發現它比 SVN 更容易和更麻煩,當談到更改/添加文件的負載 (和 SVN 不同,它不放愚蠢.svn 文件夾無處不在) 。
所以:
當然,我在 Mac 上,如果沒有這些適用,那麼抱歉。
代碼編輯器:Coda 通過端口安裝 GIT(使用 Porticus)Git:GitX
如果我把所有東西都設置成新的,我會做的:
- 安裝 Coda
- 安裝 Porticus(這將需要您安裝端口,但該頁面上有信息)
- 一旦你安裝了 Porticus,打開它,搜索”git-core” 並安裝。
- 下載並安裝 GitX 7-5
- 有一個很好的指導,設置一個 git repo here,但基本是:1. 打開終端。 2.
cd到你想要你的網站居住的地方。$: mkdir mysite && cd mysite3.$: git init,就是這樣!如果您將文件添加到此文件夾,請繼續下一步 - 一旦您在本地設置了 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。