安裝環境 centos7
說明:centos yum 庫裏面的git 好像是不區分 客戶端和服務器端, 安裝 git 以後 就可以創建 倉庫,也可以檢出 別的 git 倉庫的 代碼了。所以不用 糾結 找 git server 和 git client。
第一步: yum -y install git 等待 安裝完成
第二步: 查看git 是否正常安裝。
第三步: 添加 用戶 useradd git ,然後 爲他設置密碼 passwd git 。 下面提示密碼太短,但是設置成功了。
第4 步:找個 存放 git 倉庫的 目錄。 我放在 /git/resp
mkdir -p /git/resp
cd /git/resp
第5 步: 創建 初始化倉庫 git init --bare test.git
第6步:指定 這個目錄的權限 chown -R git:git resp ,直接白 resp 目錄和子目錄 的用戶和用戶組都指向 git 。 ( 如果不做這一步無法上傳 )
第七步:git clone git@ip:/git/resp/test.git
備註:git clone 用戶名@你的服務器ip:倉庫路徑
備註2:我一般 使用的 tortoisegit ,用法 和 tortoisesvn 差不多。
上面就做完一個git 用戶的 登陸了, 但是通過用戶名密碼登陸,肯定不是我們想要的 下面我們要做的 git 的 證書登陸。
第8步: 回到 /home/git 目錄下面 ,
第九步: mkdir .ssh touch 然後在 .ssh目錄下面 touch authorized_keys
第10步: 在 authorized_keys 裏面寫入你的公鑰 vi authorized_keys 然後 寫入 你的私鑰
備註: 如果你們團隊有 20 個人 ,那麼 收集 他們的 公鑰 ,然後 一次寫在 這個裏面就可以了。
第 11 步:clone 代碼的時候 直接選擇 你的私鑰就可以了
第 12 步: 怎麼區分誰是誰上傳的呢。 tortoisesvn 右鍵 設置裏面 可以修改 名字和郵箱。
第 13 步: git 這個用戶 我們 其實不需要它登陸 。所以應該 禁用它的登陸。
因爲 我們只是想禁用 git 這個賬戶的登陸。
vi /etc/passwd
git:x:1000:1000:,,,:/home/git:/bin/bash
改成
git:x:1000:1000:,,,:/home/git:/usr/bin/git-shell
備註: 正常用戶 進入shell 是 執行的 /bin/bash 這個文件 , /usr/bin/git-shell 文件是安裝git 的時候 附帶的,這裏面限制了用戶登陸。
備註:有些人覺得 git 這種 每個人一個 證書,並且 上傳用戶 是 自己隨便改的 ,不安全, A 可能假冒 B 亂改代碼。 沒錯,確實有這種可能,但是一般同一個團隊 不會這樣做。
如果 你非常想 一個人一套用戶密碼。那麼你大概可以這麼幹,添加 N個用戶 。 設置 這些用戶 爲同一個 用戶組,比如 都歸屬於 git 這個用戶組。 設置 倉庫 的 權限 777 ,修改 這些用戶的 umask=002 。 這樣就每個人都有自己的賬號密碼了。上面 colen 的地址 每個人也不同( git clone 用戶名@你的服務器ip:倉庫路徑 )。
備註: centos yum 庫裏面的git 好像不區分 客戶端和服務器端, 安裝 git 以後 就可以創建 倉庫,也可以檢出 別的 git 倉庫的 代碼了。