2011-12-19 57 views
3

使用SSH協議(ssh://)或Git (git://)協議進行推送有什麼不同?Git Native協議或SSH協議之間的區別推送

如果我想使用Git,我不需要設置git服務器dameon並在iptables中打開該端口嗎?看起來像很多額外的工作,並且當SSH已經安裝並運行時,還會增加dameon的內存使用量。

使用本地git://協議肯定有好處,因爲GitHub使用它而不是ssh://。

+2

這裏有一些信息:http://progit.org/book/ch4-1.html – zoran119 2011-12-19 00:55:08

+0

謝謝,是有道理的。 – Justin 2011-12-19 01:03:30

回答

5

首先,GitHub使用ssh作爲主協議,通過git協議提供只讀訪問。

git://將克隆項目的速度最快,因爲它沒有加密和身份驗證的開銷。但除此之外,ssh://和git://都具有相同的git特定的優化用於傳輸。這就是爲什麼許多項目,包括GitHub上的項目,都有git://用於只讀訪問和ssh來推送。

所以要回答你的問題,ssh://最適合推送,因爲git://不能用於推送。

0

在使用SSH協議(ssh://)或Git(git://)協議進行推送之間是否存在性能差異?

當然有ssh的加密。

如果我想使用Git,我不需要設置git服務器dameon並在iptables中打開該端口嗎?

取決於您選擇的協議。由於通常需要驗證身份驗證(並且身份驗證是加密的),因此ssh的設施通常會被使用 - 因爲實質上,您將運行git-native協議,但通過ssh隧道。 (Impl細節:通過ssh的git-daemon和git-push產生git-receive-pack的功能。)

通常爲只讀匿名訪問提供git-daemon服務,因爲既不需要auth也不需要加密/這裏需要。