版本控制-搭建git服務器


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

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

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

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

  通過命令 ps –e|grep ssh,查看ssh服務是否啟動。

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

 2、創建用戶git,用來管理運行git服務。

 

 3、配置無密碼SSH登陸

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

 

  完成之后,在.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即可完成無密碼登陸。

 

 4、安裝Git

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

 

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

 

 6、初始化服務器端倉庫

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

 7、在gitClient_01上,通過git clone命令進行克隆遠程倉庫,並在各自的電腦上運行開發。

  Git clone git@gitServer:/home/git/myRep.git

 

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

  1、git clone

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

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

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

  2、git remote

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

 

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

 

  通過命令 git remote –v,可查看版本庫的網址。

  3、git fetch

此命令可以將遠程版本庫的更新,更新到本地庫。

語法:git fetch 主機名字

 

  在默認情況下,git fetch origin將會更新遠程主機origin上的所有分支,如果只想更新某個分支,則在主機名origin后面加分支名。

  語法:git fetch origin master

 4、git push

  此命令用於將本地分支的更新推送到遠程主機。

  語法:git push 遠程主機名 本地分支名:遠程分支名

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

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

 

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

 5、git pull

  此命令用於獲取遠程分支中更新。

  語法:git pull 遠程主機 遠程分支:本地分支如:git pull origin master:master,表示將遠程主機origin中的master分支跟新到本地分支master。

 

  如需查看版本控制全系列文章,請點擊: http://www.cnblogs.com/jerehedu/p/4607599.html#bbkz

  如有疑問咨詢或技術交流,請加入官方QQ群:JRedu技術交流 (452379712)

 

作者: 傑瑞教育
出處: http://www.cnblogs.com/jerehedu/ 
本文版權歸煙台傑瑞教育科技有限公司和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM