2011-10-19 73 views
4

我想直接從git存儲庫提供網站。很顯然,這將使更新在線服務器變得非常簡單 - 如果我有新代碼的問題,我可以切換回到以前的分支。將git存儲庫用作網站根文件夾

是否有任何安全問題?

我是否需要向apache添加任何指令?

是否有任何非安全相關的問題我應該知道?

編輯:請參閱下面侃的答案 - 這裏是爲了保護git的文件夾,因爲我想在混帳回購

<Files ~ "^\.git"> 
    Order allow,deny 
    Deny from all 
</Files> 

回答

3

的頂層設置根文件夾只有一個令人關注的指令 - 中.git文件夾。但是git將它存儲在回購根目錄中。如果您將您的網頁暴露文件夾作爲回購的子文件夾,它將很好地工作,不需要任何額外的配置。文件結構將是:

myProj -+ 
     +-- .git 
     +-- www-files 
     ... 
     +-- someStuff 

因此,有完全沒有問題從網絡服務器暴露www-files

有使用,而不是SVN的great story ...

+0

所以我也可以限制訪問任何.git文件夾在http conf? – Boz

+0

當然可以,但重點是:如果您將http'document root'指向'www-files',這不是必需的,它簡化了部署和配置。 – kan

+0

Web服務器永遠不會從文檔根目錄中提取,因此它不會訪問'.git'。 – kan

0

不知道你正在使用什麼技術,但它可能並非一切都需要部署到實時Web服務器的情況下(如被編譯的文件,調試頁面等)。

你可能會更好地投入你的時間在一個步驟,它會自動創建你的'部署'網站從git倉庫,然後可以通過FTP推送。

+0

FTP將推送所有文件,但'git pull'只傳送更改。它節省了大量的時間和流量。幾乎總是可以組織一個源代碼,以便一個文件夾可以清理非活動內容。 – kan

+0

鑑於當天的連接,不確定它會對時間/流量產生嚴重影響,除非您經常更新您的網站。但是對於他們自己。 – Paddy

+0

我會去git - 因爲如果發佈失敗,我可以快速切換分支。當我使用SVN時,我使用rsync而不是ftp。但那只是另一個步驟。在服務器上運行git pull會更簡單。 – Boz

相關問題