我正在開發一個網站,並使用我自己的筆記本電腦作爲開發服務器,同時將我的在線服務器用作生產服務器。我使用git來管理我的項目。如何使用自託管的git服務器作爲生產服務器?
我以前用過heroku,我覺得只用git push heroku master
發佈我的網站真的很酷,所以我打算建立一個我自己。
所以,這是我所做的,我已經在我的生產服務器上設置了git(用gitosis來管理訪問),在我的git倉庫中,我用git remote add [email protected]:myrepo.git
爲git倉庫添加了遠程倉庫。
問題是如何獲取生產服務器上的代碼?生產服務器用作git服務器,所以我只能得到.git文件夾而不是真正的代碼。我想到了一個絕招,那就是使用git clone --local myrepo.git myrepo
克隆生產服務器上的數據,並在鉤/ myrepo.git的文件夾,我編輯的post-receive
文件如下:
#!/bin/sh
touch /tmp/do-we-got-here
cd /path/to/clone/myrepo
/usr/bin/git pull
我使用後git push production master
,do-we-got-here
文件被創建,所以我可以告訴後接收掛鉤工作,但git pull
部分不起作用,當我到達myrepo文件夾,並使用git pull
,它仍然從myrepo.git拉。
所以我想知道如何處理這個?我知道這是可能的,因爲像heroku託管網站正在工作!但問題是如何?
你有什麼錯誤嗎? – 2013-03-15 14:42:36
爲什麼不在生產服務器中擁有整個存儲庫(包含文件)?在分佈式版本控制系統中沒有Repo-Server概念 – iberbeu 2013-03-15 14:46:29
@roko,nope,我不知道如何登錄鉤子。 – 2013-03-15 14:46:49