GitHub是一个免费托管开源代码的Git服务器,若是咱们不想公开项目的源代码,又不想付费使用,那么咱们能够本身搭建一台Git服务器。html
下面咱们就看看,如何在Ubuntu上搭建Git服务器。咱们使用VMware虚拟机安装两台Ubantu系统,分别命名为gitServer和gitClient_01。git
经过命令 sudo apt-get install openssh-server,安装SSH服务。web
经过命令 ps –e|grep ssh,查看ssh服务是否启动。服务器
经过以上命令,咱们为Ubantu系统安装SSH服务,并配置SSH无密码登录,首先咱们修改主机和ip配置文件:gedit /ect/hostsssh
在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便可完成无密码登录。
经过命令 sudo apt-get install git-core,安装git
使用命令 git –bare init /home/git/myRep.git,初始化化仓库
Git clone git@gitServer:/home/git/myRep.git
经过以上的步骤咱们就完成了git服务器的搭建,完成搭建后,咱们须要了解一下与git服务器交互过程当中所用到命令。主要命令有 git clone、git remote、git fetch、git pull、git push等,下面咱们逐一了解
此命令是咱们和远程仓库交互的第一步,经过此命令,咱们能够将远程版本库克隆到本地,如上面第7步咱们就使用了此命令,将远程库克隆道了本地。
语法:git clone 版本库的网址 本地库名称
本地库名称能够省略,省略后在本地会生成一个和远程版本库名字相同的目录。
此命令用于管理远程主机名,此命令在没有参数的状况下能够列出全部主机名。
显示origin是在使用clone命令,克隆远程版本库时Git自动为远程主机命名。
经过命令 git remote –v,可查看版本库的网址。
此命令能够将远程版本库的更新,更新到本地库。
语法:git fetch 主机名字
在默认状况下,git fetch origin将会更新远程主机origin上的全部分支,若是只想更新某个分支,则在主机名origin后面加分支名。
语法:git fetch origin master
此命令用于将本地分支的更新推送到远程主机。
语法:git push 远程主机名 本地分支名:远程分支名
若是省略远程分支名,则表示将本地分支推送与存在最终关系的远程分支,若是远程分支不存在,则会被新建。
如:git push origin master,表示将本地master分支推送到origin主机的master分支上。
若是省略本地分子名,则表示要删除远程主机中分支,如git push origin : master,则表示删除origin主机中master分支
此命令用于获取远程分支中更新。
语法:git pull 远程主机 远程分支:本地分支如:git pull origin master:master,表示将远程主机origin中的master分支跟新到本地分支master。
如需查看版本控制全系列文章,请点击: http://www.cnblogs.com/jerehedu/p/4607599.html#bbkz
若有疑问咨询或技术交流,请加入官方QQ群: (452379712)