我有一個平臺文件CMS上的網站,我想通過Git進行部署。我希望能夠從本地計算機上工作並推送到實時服務器,但我還需要能夠通過CMS的Web管理面板編寫新內容,並將這些內容返回到我的計算機進入我的開發環境。Git部署,其中也可能從服務器提交更改
這樣做的最佳方法是什麼?我試圖在我的機器和服務器上安裝回放,並將服務器設置爲本地回購的遠程服務器。當我嘗試將更改推送到服務器時,出現錯誤。
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error:
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error:
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
我隨時可以改變遙控器的配置,以允許這一點,但我覺得有可能是因爲這是一個更好的解決辦法是默認不允許的。什麼是通過Git實現這個最好的方法?理想情況下,通過管理面板進行的更改會自動提交,但這可能要求太高。
我有這樣的設置和工作得相當好。感謝您的幫助。無論如何,當我在我的管理面板中進行更改時,我可以自動將其提交併自動推送到裸露的回購站點。這將顯着地簡化我的工作流程。 – raddevon
我可能說得太快了一點。我使用http://mattbanks.me/wordpress-deployments-with-git/來設置我的裸存儲庫,以便自動簽出服務器上的部署路徑。但是,這使我無法將更改從服務器提交回repo,除非我錯過了某些內容,因爲工作樹本身不是git repo。你能否給我更詳細的指導,以便我可以從任何一方做出承諾? – raddevon
您仍然可以通過黑客攻擊一些環境變量來提交,請參閱我的更新。我還添加了我個人使用的替代方法,其中部署目錄本身就是存儲庫。 – janos