問題描述
我意識到這可能是一個廣泛的問題,但我正在尋找一些設定/工作流程的具體例子,人們用來儲存 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。