1. 程式人生 > >centos7.0 下安裝git(ssh方式)

centos7.0 下安裝git(ssh方式)

1、 安裝依賴的庫

1

[[email protected] ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

2、 刪除原本的安裝的git

1

[[email protected] ~]# yum remove git -y

3、下載git-2.10.0.tar.gz 到 /usr/local/src

1

2

[[email protected] ~]# cd /usr/local/src

[[email protected] src]# wget https://www.kernel.org/pub/software/scm/git/git-2.10.0.tar.gz

4、 編譯安裝

1

2

3

4

[[email protected] src]# tar -zvxf git-2.10.0.tar.gz

[[email protected] src]# cd git-2.10.0

[[email protected]

src]# make prefix=/usr/local/git all

[[email protected] src]# make prefix=/usr/local/git install

5、 增加軟連線

1

2

[[email protected] src]# ln -s /usr/local/git/bin/* /usr/bin/

[[email protected] src]# git --version

如果能正常顯示版本號,即表示成功

6、新建git使用者和設定密碼

1

2

[[email protected] ~]# useradd -m git

[[email protected] ~]# passwd git

7、新建git的倉庫,並設定許可權,我這邊是建立repositories這個資料夾

1

2

3

[[email protected] ~]# mkdir -p /home/git/repositories

[[email protected] ~]# chown -R git:git /home/git/repositories

[[email protected] ~]# chmod 755 /home/git/repositories

8、切換到git使用者下,新建倉庫

1

2

3

4

[[email protected] ~]# su git

[[email protected] root]$ mkdir /home/git/repositories/test.git

[[email protected] root]$ cd /home/git/repositories/test.git

[[email protected] test.git]$ git --bare init

ok,到這裡簡單的git伺服器已經建立好了,你可以去客戶端機子上clone了

地址:ssh://[email protected]這裡寫你的IP/home/git/repositories/test.git

9、禁用git使用者的shell登陸,修改/etc/passwd檔案

1

[[email protected] ~]# vi /etc/passwd

找到這一行

git:x:1001:1001:,,,:/home/git:/bin/bash
將最後一個冒號後改為:
git:x:1001:1001:,,,:/home/git:/usr/src/git-2.10.0/git-shell
這樣,git使用者可以正常通過ssh使用git,但無法登入shell,因為我們為git使用者指定的git-shell每次一登入就自動退出。

10、附加:下一次新建git倉庫時,shell只能用root登入

1

2

3

[[email protected] root]$ mkdir /home/git/repositories/test2.git

[[email protected] root]$ cd /home/git/repositories/test2.git

[[email protected] test.git]$ git --bare init

這裡新建完之後,必須將新建的git倉庫更改所有者為git使用者,不然無法連線,執行下面命令,

注意這裡-R必須加上,不然git使用者clone會出現許可權不夠問題

1

[[email protected] ~]# chown -R git:git /home/git/repositories

ok,到這裡就基本搞定。