2014-01-24 87 views
3

我明白,一個git的服務器承載一個Git倉庫的主副本。但是技術上構成一個呢?例如,如果我在Eclipse中,並且在我的存儲庫中配置一個遠程程序,那麼該遠程程序必須有什麼特別的東西?遠程只是在Windows服務器上的映射網絡驅動器內的文件夾?我想知道,因爲我看到一系列選項可以與遠程連接,包括本地文件。git服務器究竟是什麼?

我想什麼我的問題歸結爲,是有沒有特殊的Git協議的東西,一個Git服務器必須處理,或者是它真的只是服務於包括庫中的文件的一種手段?

回答

1

遠程只是在 windows服務器上的映射網絡驅動器內的文件夾?我想知道,因爲我看到一系列的選項 連接遠程,包括本地文件。

是的,它可以只是作爲一個本地文件夾一樣簡單。當然,這是如果你不需要任何認證或授權。

我想什麼我的問題歸結爲,是有沒有特殊的git 協議的東西,一個Git服務器必須處理,或者是它真的只是服務於包括庫中的文件的 手段?

有兩個協議一個通過HTTP和另一個通過SSH。我相信HTTP協議是隻讀的,沒有授權,但我不記得。

SSH協議雖然是建立你有SSH訪問任何一臺計算機上的一個git服務器的簡單方法。在下面,每次您撥打git pushgit pull時,安裝的git將SSH連接到服務器,並分別運行git receive packgit upload pack,然後繼續執行協議,該協議將確定您可以發送或接收的最小的PACK文件以滿足您的需求。

你可以閱讀關於git協議的所有骯髒細節herehere是一個更簡單的解釋。

3

可以與遠程的Git回購過許多協議的通信:SSH,rsync的,本地文件,FTP,是的,一個特殊的Git協議,僅舉幾例(一個更廣泛的列表,請herehere) 。 Git的附帶的工具,git-daemon處理自己的Git協議,如果你選擇這樣的方式來設置一臺服務器了。