首先安裝git
emerge -av git 一條命令搞定,如果你使用ubuntu redhat 有相應的yum apt-get 工具,
git麻煩在使用者管理及管理上,下面上三種解決辦法:
# 如果需要團隊裡的每個人都對倉庫有寫入權限,又不能給每個人在伺服器上建立賬戶,那麼提供 SSH 串連就是唯一的選擇了。我們假設用來共用倉庫的伺服器已經安裝了 SSH 服務,而且你通過它訪問伺服器。
#
# 有好幾個辦法可以讓團隊的每個人都有訪問權。
第一個辦法 是給每個人建立一個賬戶,直截了當但過於繁瑣。反覆的運行 adduser 並且給所有人設定臨時密碼可不是好玩的。
#
# 第二個辦法 是在主機上建立一個 git 賬戶,讓每個需要寫入權限的人發送一個 SSH 公開金鑰,然後將其加入 git 賬戶的 ~/.ssh /authorized_keys 檔案。這樣一來,所有人都將通過 git 賬戶訪問主機。這絲毫不會影響提交的資料——訪問主機用的身份不會影響 commit的記錄。
#
# 另一個辦法 是讓 SSH 伺服器通過某個 LDAP 服務,或者其他已經設定好的集中授權機制,來進行授權。只要每個人都能獲得主機的 shell 訪問權,任何可用的 SSH 授權機制都能達到相同效 # 如果需要團隊裡的每個人都對倉庫有寫入權限,又不能給每個人在伺服器上建立賬戶,那麼提供 SSH 串連就是唯一的選擇了。我們假設用來共用倉庫的伺服器已經安裝了 SSH 服務,而且你通過它訪問伺服器。
#
為了簡便選用了第二種辦法 ,這種辦法採用SSH公開金鑰認證。 這裡為了示範建立user1 user2 兩個使用者分別類比兩個開發人員, 建立git 使用者,源碼是通過git 使用者進行初始化,可以將 它當作專案經理 並各自修改密碼
產生公開金鑰
ssh-keygen -C "你的email地址" -t rsa
後面直接斷行符號直到結束,中間可以不需要任何設定,該命令將產生一對非對稱的公/私密鑰,預設它們被儲存在:
XP/2003使用者:c:/Documents and Settings/登陸名/.ssh
Vista使用者: c:/Users/登陸名/.ssh
linux :~/.ssh 下面分別為user1 user2 產生公開金鑰,私密金鑰
這樣有/home/user1/.ssh 下會產生兩個檔案,id_rsa 私密金鑰,和id_rsa.pub公開金鑰檔案
公開金鑰樣子大概如此
該.ssh檔案夾下面,私密金鑰放在id_rsa檔案裡面,不用理會它;
對於user2 ,git 使用者作相同處理,然後各自的目錄會產生相應的檔案
然後需要將user1 user2 各自的公開金鑰檔案提供給git 使用者,
2、在linux伺服器上將公開金鑰加到git使用者的authorized_keys檔案中。
可以參考:http://github.com/git-on-windows/rookies
git使用者的建立及設定參考:http://progit.org/book/zh/ch4-4.html
只要把它們加入 authorized_keys 檔案(譯註:本例加入到了檔案尾部):
這樣認證就建好了
然後用git 使用者在/home/git目錄下建一個庫 project_repos.git/
然後啟運服務 /etc/init.d/git-daemon restart
當然也要啟動sshd
/etc/init.d/sshd start
user1 串連 (這裡測試時將porject_repos.git 改為repos.git 了, 此系小節,可忽略)