搭建git伺服器需要準備一台執行linux的機器,強烈推薦用ubuntu或debian,這樣,通過幾條簡單的apt命令就可以完成安裝。
假設你已經有sudo許可權的使用者賬號,下面,正式開始安裝。
第一步,安裝git:
$ sudo apt-get install git
第二步,建立乙個git使用者,用來執行git服務
$ sudo adduser git
$ vim /etc/sudoers (賦予root許可權)
第三步,建立證書登入:
收集所有需要登入的使用者的公鑰,就是他們自己的id_rsa.pub檔案,把所有公鑰匯入到/home/git/.ssh/authorized_keys檔案裡,一行乙個。
1、建立ssh key。在使用者主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個檔案,如果已經有了,可直接跳到下一步。如果沒有,開啟shell(windows下開啟git bash),建立ssh key:
$ ssh-keygen -t rsa -c "[email protected]"
你需要把郵件位址換成你自己的郵件位址,然後一路回車,使用預設值即可,由於這個key也不是用於軍事目的,所以也無需設定密碼。
如果一切順利的話,可以在使用者主目錄裡找到.ssh目錄,裡面有id_rsa和id_rsa.pub兩個檔案,這兩個就是ssh key的秘鑰對,id_rsa是私鑰,不能洩露出去,id_rsa.pub是公鑰,可以放心地告訴任何人。
第四步,初始化git倉庫:
先選定乙個目錄作為git倉庫,假定是/srv/sample.git,在/srv目錄下輸入命令:
$ sudo git init --bare sample.git
git就會建立乙個裸倉庫,裸倉庫沒有工作區,因為伺服器上的git倉庫純粹是為了共享,所以不讓使用者直接登入到伺服器上去改工作區,並且伺服器上的git倉庫通常都以.git結尾。然後,把owner改為git:
$ sudo chown -r git:git sample.git
第五步,禁用shell登入:
git❌1001:1001:,:/home/git:/bin/bash
改為:git❌1001:1001:,:/home/git:/usr/bin/git-shell
這樣,git使用者可以正常通過ssh使用git,但無法登入shell,因為我們為git使用者指定的git-shell每次一登入就自動退出。
第六步,轉殖遠端倉庫:
現在,可以通過git clone命令轉殖遠端倉庫了,在各自的電腦上執行:
$ git clone [email protected]:/srv/sample.git
cloning into 'sample'...
推送至伺服器
git add test.txt
git commit -m "add test"
git push origin master
推送失敗,先用git pull把最新的提交從origin/dev抓下來,然後,在本地合併,解決衝突,再推送:
$ git pull
auto-merging env.txt
conflict (add/add): merge conflict in env.txt
automatic merge failed; fix conflicts and then commit the result.
Git 搭建git伺服器
環境 ubuntu16.4 1.以root使用者登陸linux後台,執行下面的命令安裝git apt install git2.建立git使用者 adduser git3.建立倉庫目錄 su git mkdir p repository myself.git4.初始化倉庫 cd repository...
Git 搭建Git伺服器
在遠端倉庫一節中,我們講了遠端倉庫實際上和本地倉庫沒啥不同,純粹為了7x24小時開機並交換大家的修改。github就是乙個免費託管開源 的遠端倉庫。但是對於某些視源 如生命的商業公司來說,既不想公開源 又捨不得給github交保護費,那就只能自己搭建一台git伺服器作為私有倉庫使用。搭建git伺服器...
搭建Git伺服器
在 遠端倉庫 一節中,我們講了遠端倉庫實際上和本地倉庫沒啥不同,純粹為了7x24小時開機並交換大家的修改。github就是乙個免費託管開源 的遠端倉庫。但是對於某些視源 如生命的商業公司來說,既不想公開源 又捨不得給github交保護費,那就只能自己搭建一台git伺服器作為私有倉庫使用。搭建git伺...