在CentOS 7中搭建Git服務器

環境說明 
- CentOS 7.x 最小安裝 
- 配置網絡鏈接git

1. 安裝Git及建立用戶

# 安裝Git
$ yum install git

# 建立一個git用戶組和用戶,用來運行git服務
$ groupadd git
$ adduser git -g git

 

禁止git用戶登陸:shell

修改/etc/passwd文件,修改vim

# 找到這句:
git:x:503:503::/home/git:/bin/bash

# 改成:
git:x:503:503::/home/git:/bin/git-shell

 

2. 建立證書登陸

$ mkdir /home/git/.ssh
$ chmod 700 /home/git/.ssh
$ touch 700 /home/git/.ssh/authorized_keys
$ chmod 600 /home/git/.ssh/authorized_keys

 

注意,若是是採用的sudo方式來建立git和相應的文件的,須要設置/home/git/.ssh/的owner爲git,不然仍是每次要輸入密碼的。bash

# owner改成git
$ sudo chown -R git:git /home/git/.ssh/

 

編輯/home/git/.ssh/authorized_keys,把客戶端的公鑰放進去,1個公鑰1行。服務器

附:如何建立私鑰:網絡

# 建立私鑰,文件位於用戶主目錄裏找到.ssh目錄,裏面有id_rsa和id_rsa.pub兩個文件
$ ssh-keygen -t rsa -C "youremail@example.com"

 

3.初始化Git倉庫ssh

 

$ cd /srv
$ mkdir gitrepo
$ chown git:git gitrepo/
$ cd gitrepo

# 建立一個空的Git倉庫,服務器上的Git倉庫一般都以.git結尾
$ git init --bare project.git

# 將倉庫所屬用戶改成git
$ chown -R git:git project.git

 

4. 克隆倉庫

在另外一臺電腦上(下面稱爲:Client),安裝git,而且運行下面的命令:spa

$ git clone git@10.123.123.123:/srv/gitrepo/project.git

 

5. 驗證安裝

5.1. 推送到遠程服務器

在本地Client的project目錄下,建立一個文件:text.txt,內容隨意,而後上傳到遠端:code

$ git push origin master

 

5.2. 檢驗

在本地Client的另一個目錄下,克隆一下:blog

$ git clone git@10.123.123.123:/srv/gitrepo/project.git

 

看看text.txt文件是否存在,內容是否對。

5.3. 經常使用的Git命令:

$ git add . 添加全部文件  注意有個 . 
$ git commit -m '註釋' 提交本地
$ git push origin master提交給默認分支
$ git -rm 刪除
$ git pull origin master 從默認分支下載
$ git branch -v 查看全部分支

 

注意:由於git默認走的是ssh端口,而ssh端口默認爲22,公司通常都修改了該默認端口;此時須要以下操做:在用戶的家目錄下的./ssh/目錄裏建立config文件:vim /home/git/.ssh/config以ip訪問的,則添加以下內容:Host "114.113.152.105"Port 21113

相關文章
相關標籤/搜索