Pro Git 第4章 伺服器上的 Git

出自DILA Wiki

到目前為止,你應該已經學會了使用 Git 來完成日常的工作。然而,如果想與他人合作,還需要一個遠端的 Git 倉庫。儘管技術上可以從個人的倉庫裡推送和拉取改變,但是我們不鼓勵這樣做,因為一不留心就很容易弄混其他人的進度。另外,你也一定希望合作者們即使在自己不開機的時候也能從倉庫獲取資料,因此擁有一個更穩定的公共倉庫十分有用。更好的合作方式是建立一個大家都可以訪問的共用倉庫,從那裡推送和拉取資料。我們將把這個倉庫稱為 「Git 伺服器」;代理一個 Git 倉庫只需要花費很少的資源,幾乎從不需要整個伺服器來支援它的運行。

架設一個 Git 伺服器不難。第一步是選擇與伺服器通訊的協定。本章的第一節將介紹可用的協議以及他們各自的優缺點。下面一節將介紹一些針對各個協議典型的設置以及如何在伺服器上運行它們。最後,如果你不介意在其他人的伺服器上保存你的代碼,又不想經歷自己架設和維護伺服器的麻煩,我們將介紹幾個網路上的倉庫託管服務。

如果你對架設自己的伺服器沒興趣,可以跳到本章最後一節去看看如何創建一個代碼託管帳戶然後繼續下一章,我們會在那裡討論一個分散式源碼控制環境的林林總總。

遠端倉庫通常只是一個 純倉庫(bare repository) -- 一個沒有當前工作目錄的倉庫。因為該倉庫只是一個合作媒介,所以不需要從一個處於已從硬碟上檢出狀態的快照;倉庫裡僅僅是 Git 的資料。簡單的說,純倉庫是你專案裡 .git 目錄的內容,別無他物。

小結

幾個不同的方案可以讓你獲得遠端 Git 倉庫來與其他人合作或分享你的成果。

運行自己的伺服器意味著更多的控制權以及在防火牆內部操作的可能性,然而這樣的伺服器通常需要投入一定的時間來架設和維護。如果把資料放在託管服務上,架設和維護變得十分簡單;然而,你不得不把代碼保存在別人的伺服器上,很多公司不允許這種做法。

使用哪個方案或哪種方案的組合對你和你的團隊更合適,應該不是一個太難的決定。