我已經創建了兩個存儲庫 - 本地(在我的機器上)和遠程(從活動服務器)。遠程的是一個裸倉庫。這些文件都是HTML文件。Git:創建本地和遠程存儲庫,如何使用我推送到遠程存儲庫的文件?
現在我的問題是,我如何使用這些文件,我推送到遠程的,使他們可以通過網絡訪問?我應該從實時服務器創建另一個存儲庫,並從裸存儲庫中提取該存儲庫?或者將符號鏈接工作呢?
我已經創建了兩個存儲庫 - 本地(在我的機器上)和遠程(從活動服務器)。遠程的是一個裸倉庫。這些文件都是HTML文件。Git:創建本地和遠程存儲庫,如何使用我推送到遠程存儲庫的文件?
現在我的問題是,我如何使用這些文件,我推送到遠程的,使他們可以通過網絡訪問?我應該從實時服務器創建另一個存儲庫,並從裸存儲庫中提取該存儲庫?或者將符號鏈接工作呢?
我能通過克隆我的遠程回購來解決我的問題。
例如
我的遠程回購位於
/home/user/repo/mywebsite.git
所以在我的
/var/www/mywebsite
我做git clone /home/user/repo/mywebsite.git .
然後,如果我推到我的遠程回購這是/home/user/repo/mywebsite.git
, 我會只要git pull
在/var/www/mywebsite
我希望這會幫助那些和我一樣的問題,因爲git-daemon對我來說工作不好。
如果您在服務器上創建了裸存儲庫,那麼它將不包含可見文件的工作樹。這通常是您想要的遠程商店。
但是,如果你想通過網絡服務器來提供文件服務,你需要訪問到工作樹,你是對的 - 克隆裸露的回購協議所服務的web目錄將讓你(和網絡服務器)來訪問這些文件。
如果你想通過網頁瀏覽git倉庫本身(即查看日誌等),那麼你需要安裝git-daemon並將它指向裸git倉庫。
恕我直言,最好的解決方案是在服務器上配置git push hook腳本,它將克隆/更新裸回購(猜測,主分支)文件到您的WEB源文件夾。
我已經嘗試在hooks/post-receive#!/ bin/sh中配置這樣的鉤子GIT_WORK_TREE =/var/www/mywebsite git checkout -f。但每次我推,我得到一個「文本文件忙」的錯誤。你有什麼想法是什麼導致了這個錯誤? – JoenasE
你的'/ var/www/mywebsite'是一個本地git倉庫嗎?你先做拉嗎?您是否嘗試以'git'(或'gitosis')用戶身份登錄並從/ var/www/mywebsite目錄中創建'git checkout'? – radistao
'/ var/www/mywebsite'位於活動服務器中。就在我的遠程回購所在的同一臺服務器上。 – JoenasE
您需要使用[git daemon](http://schacon.github.com/git/git-daemon.html)通過http公開您的存儲庫。 – KurzedMetal
@KurzedMetal - 我會試試。謝謝! – JoenasE