我開始使用Git和我的項目VCS。 我已創建在/碼回購使用哪裏是項目文件在遠程回購在Git?
git init --bare
遠程回購和從推本地回購變化到那裏。那麼我想將項目文件從那裏移動到/ var/www/project以便http:// ....可訪問。但我沒有在/ codes-repo上看到任何項目文件(index.php,css /,....)來複制它們,那裏只有git文件和文件夾。 他們在哪裏?
我開始使用Git和我的項目VCS。 我已創建在/碼回購使用哪裏是項目文件在遠程回購在Git?
git init --bare
遠程回購和從推本地回購變化到那裏。那麼我想將項目文件從那裏移動到/ var/www/project以便http:// ....可訪問。但我沒有在/ codes-repo上看到任何項目文件(index.php,css /,....)來複制它們,那裏只有git文件和文件夾。 他們在哪裏?
裸倉庫沒有結帳。也就是說,裸存儲庫僅保存提交信息 - 它不會在存儲庫文件夾中保留磁盤上實際文件的副本。
裸倉庫只能推或拉。要獲得這些文件,最好的方法是克隆裸倉庫(作爲非純粹的克隆),然後在克隆中運行結賬。
另一種選擇,如果你感覺勇敢,是純倉庫轉換成非純倉庫(How do I convert a bare git repository into a normal one (in-place)?)
純倉庫沒有所謂的工作目錄,所以不會有任何文件系統對象。
Git仍然跟蹤內容,提交,標籤等,但將它們存儲在某處。當你在非存儲庫中使用git checkout時,git會更新索引(存儲庫中的文件)以反映作爲參數給出的tree-ish對象。
將文件從一個裸倉庫的副本,你可以使用git存檔
GIT_DIR=~/BARE_REPO git archive --format tar master | tar xvf -
git的存檔命令將轉換目標承諾(marter,例如),以tar格式,發送到標準輸出。你可以將它管到一個tar命令來立即提取。
另一種方法是檢出存儲庫。
git checkout ~/BARE_REPO myproject
但是,把這個整個目錄放到你的web服務器上是不合適的。否則,您的整個.git目錄將被訪問。任何人都可以獲取源代碼並完成提交歷史記錄(當然,您可以通過.htaccess或nginx設置阻止這些訪問)。
我想我得到了我的答案,謝謝。 –
還有用於從數據庫中提取對象的git命令。例如。 'git show'。 – bames53