1. 程式人生 > >Git服務搭建

Git服務搭建

1. 搭建環境

  • 服務端
    工作環境 : 阿里雲伺服器ECS
    作業系統 : CentOS7
  • 客戶端
    作業系統 : Windows10

1. 概述

git是分散式的,每一個安裝了git的電腦,既是客戶端,也是伺服器,git與git之間可以相互通訊,而我們所謂的git伺服器,實際上和我們自己的電腦沒有什麼本質上的差別。但是,我們為了更有效的管理專案,都採取中心化的管理方式,因此建立一個“git伺服器”,作為其他所有人提交程式碼的最終終端。

2. 服務端安裝

安裝git

# sudo yum install git -y

建立git使用者

用來管理和操作git服務

# sudo adduser git

建立證書登入

所有的使用者金鑰都存放在/home/git/.ssh/authorized_keys檔案裡

# cd /home/git/
# mkdir .ssh
# touch .ssh/authorized_keys

初始化git倉庫

因為伺服器上的Git倉庫純粹是為了共享,所以不讓使用者直接登入到伺服器上去改工作區,並且伺服器上的Git倉庫通常都以.git結尾。然後,把owner改為git

# cd /usr/local  ---自己喜好git的存放路徑
# mkdir git # cd git # sudo git init --bare sample.git # sudo chown -R git:git sample.git

禁用shell登入

其實Liunx對沒有密碼賬戶是不能用於登入操作的,所以如果操的git使用者沒有密碼是可以不需要這一步,但是如果有需求要設定密碼但又不想shell登入可以通過編輯/etc/passwd檔案完成,找到類似下面的一行:

~ git:x:1001:1001::/home/git:/bin/bash
改為:
~ git:x:1001:1001::/home/git:/usr/bin/git-shell

3. 客戶端安裝

安裝git

Windows系統的使用者在GIT官網下載Windows版本,一路下一步安裝

生成公鑰

安裝好後點擊右鍵選擇Git Bash Here,三次回車後,就能看到公鑰的生成,一般都在C:users/使用者名稱/.ssh/id_rsa.pub開啟copy裡面的內容到伺服器端git的authorized_keys檔案中

$ ssh-keygen -t rsa -C "your_email"

這裡寫圖片描述

測試

最後在本地git倉庫右鍵選擇Git Bash Here輸入下面指令,看下服務端的資料夾是不是被下載下來了吧!

$ git clone git@server:/usr/local/git/sample.git