2009-11-23 164 views
0

究竟是這些命令做什麼:這些Git命令做什麼?

ssh serveradmin%[email protected]@mt-example.com 
cd domains/git.mt-example.com/html/mt-example.git 
git --bare update-server-info 
cd hooks 
mv post-update.sample post-update 
chmod a+x post-update 

我不知道爲什麼在git --bar命令他們已經更新服務器信息 ,什麼是在「鉤子」文件夾會後?

更新

摘自:http://kb.mediatemple.net/questions/1594/Using+Git

我基本上創造了Git庫,而碼頭輸送到服務器。我仍然需要進入CD掛鉤等?

+0

請發佈一個不同的問題,詢問你想知道什麼。告訴我們爲什麼你想建立一個存儲庫,你打算如何與它交流,等等。 – bmargulies

回答

2

設置gitosis或類似的東西。

ssh serveradmin%[email protected]@mt-example.com 

登錄到mt-example.com作爲用戶serveradmin%[email protected]

cd domains/git.mt-example.com/html/mt-example.git 

把自己變成一個Git倉庫。

git --bare update-server-info 

生成運行一個愚蠢的混帳服務器所需的一些文件。 --bare是一個通用的git選項,用於聲明你不會在這個克隆中籤出。

cd hooks 
mv post-update.sample post-update 
chmod a+x post-update 

啓用通常在服務器配置中使用的更新後的鉤,通過從無效樣品名稱到GIT中尋找名字重命名,並使其執行。

+1

'--bare'被記錄在Git的manpage中。具體來說,它說:「將存儲庫視爲裸倉庫,如果沒有設置」GIT_DIR「環境,則將其設置爲當前工作目錄。」 – mipadi

0

git update-server-info有其own man page。同樣,githooks有man page--bare不是命令,而是似乎不存在的命令修飾符。如果您告訴我們您從哪裏獲得這些說明,可能會有所幫助。

+0

已更新,請注意我正在終止進服務器,這將成爲git bare,所以我需要做掛鉤的事情嗎? – mrblah

0

hooks目錄包含掛鉤。掛鉤是在特定事件發生時運行的腳本。例如,推送到存儲庫,提交等等。

1

該命令序列安裝更新後的掛鉤。默認情況下,git放置一個post-update.sample文件,但在其上添加.sample擴展名,因爲不是每個人都想要這樣運行它。你必須在git識別它之前將它重命名爲post-updatechmod行將執行權限添加到更新後的掛鉤,這是運行它所必需的。默認的更新後掛鉤只需在存儲庫上運行git update-server-info。既然他們也希望你手動運行那個命令,我的猜測是這整個序列的目的是爲了彌補他們假定你提交到存儲庫的方式;這就是git update-server-info所做的 - 它修復了應該創建/更新的丟失和過時的引用和包,但不是因爲使用了異常更新機制。

一般來說,如果有人建議這樣做,我會調查並確定它確實是必要的;標準的git安裝和正常使用不需要這一步。

編輯:

啊,這是必要的。他們讓你通過http提交提交併通過ssh推送它們。這兩種協議都不能支持git需要完成的額外工作,所以需要git update-server-info來解決這個問題。

另外...我不能說我推薦Grid Server。這對你實際得到的東西來說非常昂貴。