問題描述

我開發主題,很多。我給了一個 PSD,編碼 HTML /CSS,將程式碼壓入 Wordpress,並在得到 QC’ 時進行更正。一旦即時,客戶可以編輯正常的部落格帖子或使用自定義外掛上傳照片。

有時我必須對主題或頁面/帖子內容進行更改,這意味著我要麼讓他們現場,要麼下載並將該站點設定到開發環境中才能被客戶批准。我沒有備份,我沒有版本控制,我意識到這需要改變。

已經提出了 Git 和 Mercurial,我想利用這些工具,但是我對如何將它們融入工作流程感到困惑。

是否需要對開發伺服器上的站點進行所有更改,然後一旦批准就推送它們?寫部落格帖子怎麼辦?看起來像是在開發人員上寫帖子,並且直接推送更改,但是如果在即時站點上編輯資料庫,那麼如何同步資料庫?我已經洗了網際網路。一些指導將不勝感激。

最佳解決方案

首先,您需要認識到這裡有兩個工作流程:您的客戶端和您的客戶端。

你的工作流程

  • 接收 PSD

  • 程式碼 HTML /CSS

  • 程式碼 WordPress 模板

  • 部署主題以實現 WordPress 網站

他們的工作流程

  • 設計需要更改並透過電子郵件傳送給您

  • 寫帖子

  • 上傳照片

問題

這裡實現版本控制與客戶的工作流程無關。這是關於跟蹤您用於 WordPress 主題的程式碼。所有的主題檔案,自定義外掛等都應該在版本控制系統 (Git,Mercurial,Subversion 或任何您選擇使用的) 中。

您的工作流程將變為:

  • 編寫程式碼

  • 提交更改到版本控制系統

  • 推動更改到生產現場

  • 從客戶端獲取評論

  • 編寫程式碼

  • 提交更改

  • 編寫程式碼

  • 提交更改

  • 推動更改到生產現場

請記住,這是關於維護程式碼的版本控制歷史記錄。程式碼是客戶端不應該更改的程式碼,而且在生產中您不應該更改生產站點上的程式碼。

但更改內容 (帖子,照片等) 不在您的版本控制系統的範圍之內。換句話說,您不要在開發中進行更改,然後將資料庫推送到生產環境中。這是一個糟糕的發展實踐。如果您需要將 dev 和 prod 資料庫作為 in-sync,那麼您應該定期從生產箱中提取備份,並從該備份還原本地版本。

程式碼從開發轉向生產。資料庫從生產到發展的變化。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。