2011-10-26 72 views
5

我剛開始嘗試學習Git,並且遇到了一些困難。我們正在使用Github來執行我們的「穩定」項目,但我在回購時遇到問題。將Apache htdocs /子文件夾設置爲GIT工作目錄

我想知道它是否可以使用本地webservers htdocs/[projectname]作爲工作目錄 - 這樣我就可以從github克隆repo,在本地服務器上工作(所以它的工作原理與應用程序應該允許我一樣測試我寫的所有東西),然後從那裏開始階段 - >提交。

我正在使用MAMP環境的Mac上工作。該應用程序是一個基於PHP的CMS。我們將它保存在Github上的私有存儲庫中。目前Git似乎使用/Users/Ben/Core-CMS作爲工作目錄,但這使得很難測試出來 - 如果工作目錄位於apache htdocs目錄中會好很多,我買了Pro Git,但我有一個很難學習git的概念 - 我有意避免使用GUI,因爲我希望在開始「作弊」之前正確學習Git的內部工作原理!

+0

你能提供有關設置的詳情? (你的工作目錄,你使用的語言/框架在哪裏等) –

+0

當然 - 我正在使用MAMP環境在Mac上工作。該應用程序是一個基於PHP的CMS。我們將它保存在Github上的私有存儲庫中。 目前的Git好像是用/用戶/本/核心-CMS作爲工作目錄,但是這使得它很難測試的東西出來 - 這將是好得多,如果在工作目錄裏面裝了apache的htdocs目錄。 –

回答

5

如果你在htdocs目錄寫權限,只需將/Users/Ben/Core-CMShtdocs/Core-CMS和訪問它在http://localhost/Core-CMS

如果你不能寫在htdocs目錄下,我會創建/Users/Ben/web,把我的項目放在那裏,告訴Apache從那裏開始服務。告訴Apache看在/Users/Ben/web,以滿足您的項目,在Apache的conf查找以下行:

DocumentRoot /path/to/htdocs 

,取而代之的是:

DodumentRoot /Users/Ben/web 
+0

認真嗎?我不認爲這會很容易!非常感謝:) –

+0

git repo只是一個內置'.git'的笨拙的目錄,底層的數據結構非常簡單。 –

+1

請注意,您應該停止Web服務器的'.git'目錄,其中包含專用配置信息(以及您正在進行的所有工作)。如果您不想明確地做到這一點(並且可能會遺忘),那麼您可以考慮設置一個裸機存儲庫,並將其部署到此處,如下所述:http://toroid.org/ams/git-website -howto –

1

這應該不成問題。我一直在這樣做。

切換到你的公開目錄並運行:

git clone REPO_URL NAME_OF_DIR_TO_CLONE_TO 

第一。

克隆git存儲庫的目錄必須不存在。

你只需要授權從庫中的更改推到github上和git安裝在服務器上(或你的客戶,如果你已經安裝的一切到本地計算機)一個SSH密鑰。

然後你是否承諾哪些只是本地的,如果你完成了,你可以將你的修改推送到github。

另一種方法是讓網絡服務器使用您的工作目錄作爲其DocumentRoot

我希望我沒有錯過這裏你的問題。)

+0

感謝 - 快速的問題 - 當你說「克隆git倉庫的目錄必須不存在。」你到底什麼意思?具有該名稱的目錄不能存在於克隆路徑中? –

+0

如果你克隆一個像這樣的「git clone URL abc」的git項目,就不可能有一個名爲abc的目錄 - 甚至沒有一個空目錄 - 已經存在,因爲它將被創建。如果你嘗試這樣的事情,Git會拋出一個錯誤信息。 –

+0

所以 - 只是爲了檢查這是正確的 - 如果我克隆一個Git倉庫到我的Mac上的命名目錄,再次在Git中使用該倉庫(比如說明天),那麼我只需要在終端中導航到該目錄並且git會知道它是什麼回購?因爲我似乎有問題,git總是忘記我打開了什麼項目,我無法找到一個'開放存在'的表揚(即使說實話,我也不知道這是我的意思!) –

相關問題