天天看點

Git伺服器搭建全過程分步詳解【轉】

GitHub是一個免費托管開源代碼的Git伺服器,如果我們不想公開項目的源代碼,又不想付費使用,那麼我們可以自己搭建一台Git伺服器。

下面我們就看看,如何在Ubuntu上搭建Git伺服器。我們使用VMware虛拟機安裝兩台Ubantu系統,分别命名為gitServer和gitClient_01。

1、安裝OpenSSH并配置SSH無密碼登陸

通過指令 sudo apt-get install openssh-server,安裝SSH服務。

Git伺服器搭建全過程分步詳解【轉】

通過指令 ps –e|grep ssh,檢視ssh服務是否啟動。

Git伺服器搭建全過程分步詳解【轉】

通過以上指令,我們為Ubantu系統安裝SSH服務,并配置SSH無密碼登陸,首先我們修改主機和ip配置檔案:gedit /ect/hosts

Git伺服器搭建全過程分步詳解【轉】

2、建立使用者git,用來管理運作git服務。

Git伺服器搭建全過程分步詳解【轉】

3、配置無密碼SSH登陸

在gitClient_01上,我們使用指令:ssh-keygen –t rsa 生成密鑰,如下圖

Git伺服器搭建全過程分步詳解【轉】

完成之後,在.ssh目錄下,我們可以看到id_rsa和id_rsa.pub檔案,id_rsa.pub為公鑰,我們 通過指令scp /home/git/.ssh/id_rsa.pub gitServer:/home/git将gitClient_01上生成的公鑰拷貝到gitServer上。

在gitServer上我們首先檢視/home/git/.ssh目錄下是否存在authorized_kesys檔案,

如果沒有,可以通過touch authorized_keys建立此檔案。

Authorized_keys建立完成後,将gitClient_01上拷貝過來的公鑰id_rsa.pub的内容追 加到authroized_keys中,注意是追加到此檔案中,可以使用指令cat /home/git/id_rsa.pub>>/home/git/.ssh/authorized_keys.

以上内容完成後,我們在gitClient_01中,可以使用指令ssh gitServer即可完成無密碼登陸。

Git伺服器搭建全過程分步詳解【轉】

4、安裝Git

通過指令 sudo apt-get install git-core,安裝git

Git伺服器搭建全過程分步詳解【轉】

5、建立git倉庫的存儲目錄。

Git伺服器搭建全過程分步詳解【轉】

6、初始化伺服器端倉庫

使用指令 git –bare init /home/git/myRep.git,初始化化倉庫

Git伺服器搭建全過程分步詳解【轉】

7、在gitClient_01上,通過git clone指令進行克隆遠端倉庫,并在各自的電腦上運作開發。

Git伺服器搭建全過程分步詳解【轉】

通過以上的步驟我們就完成了git伺服器的搭建,完成搭建後,我們需要了解一下與git伺服器互動過程中所用到指令。主要指令有 git clone、git remote、git fetch、git pull、git push等,下面我們逐一了解

1、git clone

此指令是我們和遠端倉庫互動的第一步,通過此指令,我們可以将遠端版本庫克隆到本地,如上面第7步我們就使用了此指令,将遠端庫克隆道了本地。

文法:git clone 版本庫的網址     本地庫名稱

本地庫名稱可以省略,省略後在本地會生成一個和遠端版本庫名字相同的目錄。

2、git remote

此指令用于管理遠端主機名,此指令在沒有參數的情況下可以列出所有主機名。

Git伺服器搭建全過程分步詳解【轉】

顯示origin是在使用clone指令,克隆遠端版本庫時Git自動為遠端主機命名。

Git伺服器搭建全過程分步詳解【轉】

通過指令 git remote –v,可檢視版本庫的網址。

3、git fetch

此指令可以将遠端版本庫的更新,更新到本地庫。

文法:git fetch 主機名字

Git伺服器搭建全過程分步詳解【轉】

在預設情況下,git fetch origin将會更新遠端主機origin上的所有分支,如果隻想更新某個分支,則在主機名origin後面加分支名。

文法:git fetch origin master

4、git push

此指令用于将本地分支的更新推送到遠端主機。

文法:git push 遠端主機名 本地分支名:遠端分支名

如果省略遠端分支名,則表示将本地分支推送與存在最終關系的遠端分支,如果遠端分支不存在,則會被建立。

如:git push origin master,表示将本地master分支推送到origin主機的master分支上。

Git伺服器搭建全過程分步詳解【轉】

如果省略本地分子名,則表示要删除遠端主機中分支,如git push origin : master,則表示删除origin主機中master分支

5、git pull

此指令用于擷取遠端分支中更新。

文法:git pull 遠端主機 遠端分支:本地分支如:git pull origin master:master,表示将遠端主機origin中的master分支跟新到本地分支master。

本文轉自張昺華-sky部落格園部落格,原文連結:http://www.cnblogs.com/sky-heaven/p/5182443.html,如需轉載請自行聯系原作者