我有我的cakephp項目部署在共享主機,但它未版本控制。我想使用git或mercurial對其進行版本化,並輕鬆部署更改。我必須採取哪些步驟?我應該首先在我的共享主機中安裝git並在我的本地環境中創建一個克隆?我應該在共享主機中有一個單獨的帶有回購的文件夾,然後使用某個實用程序部署更改?版本和部署cakephp共享主機
感謝
我有我的cakephp項目部署在共享主機,但它未版本控制。我想使用git或mercurial對其進行版本化,並輕鬆部署更改。我必須採取哪些步驟?我應該首先在我的共享主機中安裝git並在我的本地環境中創建一個克隆?我應該在共享主機中有一個單獨的帶有回購的文件夾,然後使用某個實用程序部署更改?版本和部署cakephp共享主機
感謝
Subversion服務器應該從生產服務器不同。您可以在github上創建一個帳戶,並將其作爲私人項目託管在那裏。
在生產服務器上,你只會拉的最新變化,當你想更新(或使用持續集成服務器 - 詹金斯,TeamCity的,竹等)
在本地,你會推/拉變化到相同的Subversion服務器。
許多共享託管站點不允許你在他們的服務器上有shell訪問權限,有些沒有安裝git。如果您依賴將更改直接拖到生產服務器上,那麼當您要求在不支持shell/git的服務器上安裝時,您必須執行一些不同的操作......這很痛苦。
下面是對我工作的解決方案:
當您對開發站點感到滿意時,提交併推送您的更改。然後將您的項目(在您的IDE中)更改爲生產版本。拉和合並您的更改(但不要提交)。然後,我的IDE允許我只上傳更改後的文件,然後我將其提交。
我意識到這不是許多人採用的解決方案,正如Cornelb所說,持續集成服務器可能會簡化這一過程。但它對我來說效果很好,只需要通過FTP訪問您部署代碼的共享服務器。
你能否在共享主機上安裝Git?在大多數情況下,他們不會允許。
如果是的話,你可以用post-receive
鉤籤文件的目錄你的項目是:
GIT_WORK_TREE=/var/www/example.org git checkout -f
或者你可以使用這些工具做了FTP部署,形成當地的混帳回購協議之一。