前言:你們都知道,git是很是方便的版本控制工具,目前網上有不少免費的git倉庫能夠給咱們使用,可是有些時候咱們並不放心將咱們的項目寄放在別人的服務器上,這個時候就須要本身搭建一個git服務器,十分的簡單。這文介紹如何在阿里雲服務器上搭建本身的git服務器。html
在Ubuntu系統中,git安裝只須要簡單命令就能夠完成,只須要打開終端,輸入以下命令:git
sudo apt-get update sudo apt-get install git
git是分佈式的,每個安裝了git的電腦,既是客戶端,也是服務器,git與git之間能夠相互通訊,而咱們所謂的git服務器,實際上和咱們本身的電腦沒有什麼本質上的差異。可是,咱們爲了更有效的管理項目,都採起中心化的管理方式,所以建立一個「git服務器」,做爲其餘全部人提交代碼的最終終端。shell
咱們固然不容許直接使用root用戶來與服務器進行通訊交互了,因此,咱們建立一個git用戶,做爲從此提交代碼的用戶。vim
使用命令:adduser git,建立新用戶。能夠在/home目錄下看到新出現的git目錄。bash
因爲git用戶的特殊性,咱們不但願用戶經過ssh鏈接到服務器上面去,因此,須要給git用戶添加必定的權限。編輯系統權限文件:服務器
git裏面比較特殊的一步操做,通訊的時候,客戶端與服務器須要一個證書進行驗證。ssh
(1)客戶端(本機)如何生成公鑰?可參考:生成 SSH 公鑰。分佈式
Linux自帶ssh工具,能夠很方便地生成和查看ssh公鑰。工具
(2)服務器添加公鑰:在/home/git目錄下,使用命令:mkdir .ssh,cd .ssh,vi authorized_keys。而後把本身的公鑰粘貼進去,保存退出。(vim經常使用命令總結)測試
若是團隊很小,把每一個人的公鑰收集起來放到服務器的/home/git/.ssh/authorized_keys文件裏就是可行的。若是團隊有幾百號人,就無法這麼玩了,這時,能夠用Gitosis來管理公鑰。
我選擇把個人倉庫放在/var目錄下,固然能夠放在其餘地方,最後只須要記住完整目錄便可。
新建git目錄並修改其權限,使用git命令初始化一個倉庫:
完成以後,咱們的遠程倉庫地址爲:git@IP地址:/var/git//MyWeb.git。這的遠程地址在以後會用得上。
注意:.git目錄必需要有可讀寫權限,由於當咱們在push的時候,是使用git用戶推送到服務器上面去,會有一個寫入的過程,若是不賦予可寫權限,push就會失敗。因此使用命令:chown -R git:git MyWeb.git。
(1)克隆項目:git clone git@IP地址:/var/git/MyWeb.git
(2)上傳項目:
在push的時候克隆會遇到一些問題,根據錯誤提示百度解決方案就行了,有多是權限緣由,或者是文件衝突等。好比我遇到了錯誤:failed to push some refs to 'git@47.95.192.***:/var/git/MyWeb.git' ,緣由是遠程倉庫中有文件不在本地倉庫,須要先pull才能push。
好了,如今能夠正常使用本身的git服務器了,後續更多git操做就很少說了,初學者能夠看看廖雪峯的git教程。
參考連接
在阿里雲上搭建本身的git服務器:http://www.javashuo.com/article/p-bokkzapt-ce.html。
push出現錯誤:https://jingyan.baidu.com/article/f3e34a12a25bc8f5ea65354a.html。
本文版權歸做者AlvinZH和博客園全部,歡迎轉載和商用,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利.