所有相干細節都可以從該文檔出獲得:
http://git.oschina.net/progit/4-%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git.html#
Git其實不存在Server端和Clint端之分,在Git Server上安裝的也還是Git。最簡單的安裝方式是直接用系統提供的包管理工具。例如CentOS/RHEL,可使用:
Git支持4種主要的協議來傳輸數據:本地傳輸,SSH 協議,Git 協議和 HTTP 協議, 我們來簡單快速地過1下這4種協議。
對本地協議來說幾近只有1種可能的利用場景:即團隊使用的是同享的文件系統(例如 NFS),團隊中的每個成員都能向訪問本地文件系統1樣訪問它。
SSH是Git最經常使用傳輸協議,這是應為SSH本身已非常成熟且通用的訪問協議了,Git基于SSH是非常聰明的選擇。另外SSH是4種協議中唯逐一個同時支持讀寫操作的網絡協議。
1個典型的SSH協議的repo是這樣的:
Git 協議是現存最快的傳輸協議。如果你在提供1個有很大訪問量的公共項目,或1個不需要對讀操作進行授權的龐大項目,架設1個 Git 守護進程來供應倉庫是個不錯的選擇。它使用與 SSH 協議相同的數據傳輸機制,但省去了加密和授權的開消。
HTTP 協議的好處是易于架設。幾條必要的命令就能夠讓全球讀取到倉庫的內容。
簡單總結1下: 如果是公司的項目,SSH多是你們團隊唯1需要使用的協議。如果是開源項目或是允許對項目進行匿名只讀訪問,那末除SSH 協議以外,還需要支持Git或Http/s協議以便他人訪問讀取。
實際上Git并沒有特別的配置,只是如果我們使用SSH協議進行數據傳輸的話我們需要創建專職的登陸賬號和登入密鑰,因此所謂的“配置”實際上是SSH相干的配置。
創建Git用戶和用戶組
命令本省非常簡單, 這里要解釋的是為何我們要創建這個git用戶,這個用戶不是為了運行Git而創建的專職用戶,而僅僅是為了SSH訪問而創建的。正如我們在前面“SSH協議”1節中提到的地址格式:
這里的“user@gitserver”實質上就是SSH在登入時提供的用戶和遠程主機的命令行格式,所以說,既然我們需要使用SSH的方式登入并進行數據讀寫,總歸是要有1個登入賬戶吧?OK,那就創建1個叫git專用賬戶來專門支持git的數據傳輸吧。
另外,我們把git用戶的home目錄設定為了/var/git, 用以區分1般的登入賬戶。而這個/var/git下,是放置所有repository的理想位置。
一樣的,并沒有甚么真實的git client端配置,還是SSH登陸的問題,不過就是為本地用后創建SSH密鑰對,并把公鑰拷貝到Server端git用戶的~/.ssh/authorized_keys中,簡單講就是:只要本地能通過密鑰登入git@gitserver就算是完成了客戶真個配置。
關于配置SSH密鑰登入,本文不再贅述。只是結合這里的場景重復1個角色:客戶端要訪問Git Server則應由客戶端生成密鑰,私鑰客戶端保存,公鑰拷貝至Git Server的Git用戶的authorized_keys文件中。
配置完成以后,我們就能夠在Server端創建(初始化)Repository了。假定的我們要創建的項目就叫“project”,我們在應當在Server端履行以下命令:
下一篇 在Shader中實現3D鏡面反射