2012-10-23 30 views
3

我使用git將源代碼更改(從GitHub推送後從dev)提取到我的網站上的Web應用程序。我的.git目錄/ repo位於我的web根目錄(不能公開訪問),就像大多數項目是在構建Web應用程序並開始使用'git init'等git一樣。 這樣好嗎?可以在web根目錄下有live站點的git倉庫嗎?

通過「OK」,我的意思是,我知道有可能會或可能不會把production服務器上的git的存儲庫並使用構建腳本來部署或更好的東西的位置,但在你的答案,我首先是想知道我目前是從安全,最佳實踐等角度來看它是否「OK」。它似乎是最簡單,直接的方式來部署更改到現場並維護一個git倉庫,它一直在爲我工作。

如果是「好的,但還有更好的辦法」,我也對這些建議感到好奇。

回答

5

這很好,但更好的方法是確保您的歷史記錄不在Web根目錄的文件夾中。你可以通過git level選項讓git知道工作目錄的位置:

git --git-dir=some/path/.git --work-tree=my/web/root/projectX pull 

會更新它。如果您正在編寫腳本並且不想繼續重複這些選項,則可以設置2個環境變量,然後可以跳過這些選項。

你也可以讓git回購別的地方,使用存檔命令來獲得工作文件夾出:

git archive | tar -xzvf 

也可以考慮不在你的歷史有任何諸如連接字符串或密碼。讓部署腳本在部署時處理這些文件。

+0

對於從'但'開始的單詞+1。 –

+0

謝謝! git-dir和work-tree是我錯過的東西。很高興知道這是「好,但有更好的方法」 –

相關問題