搭建Git內網服務器

通常來說,搭建本身的git服務器都是不放心將代碼放到公有平臺,但願在本身的內網服務器維護代碼庫。因此,IP基本上都是內網的IP,因此咱們不妨假設內網IP是192.168.8.8git

- 遠程服務器端:

  1. 安裝git:sudo apt-get install gitsudo yum install git
  2. 服務器端建立一個git用戶,專門用於git服務:sudo adduser git
  3. 建立證書登陸:收集全部須要登陸的用戶的公鑰,就是他們本身的id_rsa.pub文件,把全部公鑰導入到/home/git/.ssh/authorized_keys文件裏,一行一個 。

此時,準備工做基本上完成,咱們能夠考慮在服務器端建立git倉庫。例如,咱們建立/var/git_repo目錄,用於保存各個git工程。shell

進入這個目錄cd /var/git_repo,咱們建立第一個工程rollingstone.git安全

sudo git init --bare rollingstone.git

再更改它的權限:bash

$ sudo chown -R git:git rollingstone.git

進一步,能夠建立第二個工程tesla.git服務器

sudo git init --bare tesla.git

再更改它的權限:ssh

$ sudo chown -R git:git tesla.git

這樣,在/var/git_repo目錄下,咱們就會獲得兩個git文件rollingstone.gittesla.gitcode

出於安全考慮,咱們能夠不容許登陸shell,能夠經過編輯/etc/passwd文件完成。找到相似下面的一行:get

git:x:1001:1001:,,,:/home/git:/bin/bash

改成:it

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

這樣,git用戶能夠正常經過ssh使用git,但沒法登陸shell,由於咱們爲git用戶指定的git-shell每次一登陸就自動退出。class

- 客戶端:

在客戶端,好比咱們本身的PC上,因爲咱們假設的內網服務器IP是192.168.8.8,咱們可使用下面的命令來客隆:

$ git clone git@192.168.8.8:/var/tesla.git

這樣,你就能夠在本身的PC上去修改、推送這個tesla工程了。

相關文章
相關標籤/搜索