git 私服搭建教程
前幾節我們的遠程倉庫使用的是 github 網站,託管項目大多是公開的,如果不想讓任何人都能看到就需要收費,而且 github 網站畢竟在國外,訪問速度太慢,基於上述兩點原因,我們有必要搭建自己的 git 服務器.
雖然我們能搭建基本的 git 服務器,但是想要做到 github 網站那種規模還不是目前能夠探討的,本節的主要目標是使用我們私有服務器對我提供類似於github的遠程倉庫託管服務,以下示例以centos 服務器為例說明:
安裝 git 服務
運行以下命令安裝 git 服務
詳情請參考安裝 git
配置 git 用戶
創建 git 用戶組和 git 用戶,以便對外提供 git 服務
收集 git 公鑰
回憶一下,在我們使用 github 網站時,我們是不是曾經將本地電腦生成的公鑰~/.ssh/id_rsa.pub 複製到 Account -> Settings -> SSH and GPG keys -> New SSH key,而我們現在搭建的git 服務還是簡單,但是這步驟必不可少,因此只能手動收集素有需要訪問我們服務器的公鑰文件.
我們知道需要登錄我們服務器的用戶公鑰一般是存放在~/.ssh/id_rsa.pub ,那當前服務器作為遠程服務器將這些公鑰存放到哪裡呢?還記得上一步我們創建了 git 用戶嗎?
因為 linux 系統支持多用戶操作,而 git 用戶就用於專門運行 git 服務,負責所有和 git 有關的事宜.因此,導入公鑰文件的目錄就是/home/git/.ssh/authorized_keys文件.一個用戶公鑰佔用一行,幾個用戶就有幾行.
初始化 git 倉庫
同樣我們和github 網站類比,在 github 創建倉庫時都會在當前賬號下創建項目,完整的訪問路徑大概是這樣的: [email protected]:snowdreams1006/git-demo.git,從中我們可以看出項目倉庫都有一個前綴即命名空間,這和上一步操作是不是很類似,上一步收集 git 公鑰時我們也有統一的目錄,這次也不例外.
假設 git 倉庫存放目錄在 /home/git/repos/,同樣的先創建該目錄並賦予響應權限.
經過上述操作,我們成功在遠程服務器部署了 git 服務,並且創建了 git-demo 測試項目,實際訪問路徑大概是這樣的
[email protected]:/home/git/repos/git-demo.git
本地克隆遠程倉庫
身份回到本地電腦,假設本地已搭建好 git 環境,並且生成的ssh 公鑰上傳到遠程服務器,那麼我們接下來就可以和之前遠程服務器是 github 網站那樣的方式開發我們的項目了,唯一不同的是,接下來我們推送的遠程服務器均是我們剛搭建好的主機.
需要做好心裡準備,我們搭建的服務器還很簡單,沒有 github 網站那樣可以直觀操作遠程倉庫,但是這並不影響我們的 pull push merge 等操作喲!
git clone [email protected]:/home/git/repos/git-demo.git
git-指的是 git 用戶,snowdreams1006.cn-指的是遠程主機域名或ip,/home/git/repos-指的是 git 倉庫的目錄,git-demo.git-指的是項目名稱
現在我們已經成功搭建好自己的 git私服了,是不是很簡單呢?有沒有對 git 和 github 進一步理解?歡迎大家一起探討!
閱讀更多 雪之夢技術驛站 的文章