版本控制-搭建git服务器

  GitHub是一个免费托管开源代码的Git服务器,若是咱们不想公开项目的源代码,又不想付费使用,那么咱们能够本身搭建一台Git服务器。html

  下面咱们就看看,如何在Ubuntu上搭建Git服务器。咱们使用VMware虚拟机安装两台Ubantu系统,分别命名为gitServer和gitClient_01。git

 一、安装OpenSSH并配置SSH无密码登录

  经过命令 sudo apt-get install openssh-server,安装SSH服务。web

  经过命令 ps –e|grep ssh,查看ssh服务是否启动。服务器

  经过以上命令,咱们为Ubantu系统安装SSH服务,并配置SSH无密码登录,首先咱们修改主机和ip配置文件:gedit /ect/hostsssh

 二、建立用户git,用来管理运行git服务。

 

 三、配置无密码SSH登录

  在gitClient_01上,咱们使用命令:ssh-keygen –t rsa 生成密钥,以下图fetch

 

  完成以后,在.ssh目录下,咱们能够看到id_rsa和id_rsa.pub文件,id_rsa.pub为公钥,咱们经过命令scp /home/git/.ssh/id_rsa.pub gitServer:/home/git将gitClient_01上生成的公钥拷贝到gitServer上。spa

  在gitServer上咱们首先查看/home/git/.ssh目录下是否存在authorized_kesys文件,3d

若是没有,能够经过touch authorized_keys建立此文件。版本控制

  Authorized_keys建立完成后,将gitClient_01上拷贝过来的公钥id_rsa.pub的内容追加到authroized_keys中,注意是追加到此文件中,可使用命令cat /home/git/id_rsa.pub>>/home/git/.ssh/authorized_keys.orm

  以上内容完成后,咱们在gitClient_01中,可使用命令ssh gitServer便可完成无密码登录。

 

 四、安装Git

  经过命令 sudo apt-get install git-core,安装git

 

 五、创建git仓库的存储目录。

 

 六、初始化服务器端仓库

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

 七、在gitClient_01上,经过git clone命令进行克隆远程仓库,并在各自的电脑上运行开发。

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

 

  经过以上的步骤咱们就完成了git服务器的搭建,完成搭建后,咱们须要了解一下与git服务器交互过程当中所用到命令。主要命令有 git clone、git remote、git fetch、git pull、git push等,下面咱们逐一了解

  一、git clone

  此命令是咱们和远程仓库交互的第一步,经过此命令,咱们能够将远程版本库克隆到本地,如上面第7步咱们就使用了此命令,将远程库克隆道了本地。

  语法:git clone 版本库的网址     本地库名称

  本地库名称能够省略,省略后在本地会生成一个和远程版本库名字相同的目录。

  二、git remote

  此命令用于管理远程主机名,此命令在没有参数的状况下能够列出全部主机名。

 

  显示origin是在使用clone命令,克隆远程版本库时Git自动为远程主机命名。

 

  经过命令 git remote –v,可查看版本库的网址。

  三、git fetch

此命令能够将远程版本库的更新,更新到本地库。

语法:git fetch 主机名字

 

  在默认状况下,git fetch origin将会更新远程主机origin上的全部分支,若是只想更新某个分支,则在主机名origin后面加分支名。

  语法:git fetch origin master

 四、git push

  此命令用于将本地分支的更新推送到远程主机。

  语法:git push 远程主机名 本地分支名:远程分支名

  若是省略远程分支名,则表示将本地分支推送与存在最终关系的远程分支,若是远程分支不存在,则会被新建。

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

 

  若是省略本地分子名,则表示要删除远程主机中分支,如git push origin : master,则表示删除origin主机中master分支

 五、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/ 
本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利。
相关文章
相关标签/搜索