GitHub是一个免费托管开源码的Gitserver,假设我们不想公开项目的源码,又不想付费使用。那么我们能够自己搭建一台Gitserver。
以下我们就看看,怎样在Ubuntu上搭建Gitserver。我们使用VMware虚拟机安装两台Ubantu系统,分别命名为gitServer和gitClient_01。
1、安装OpenSSH并配置SSH无password登陆
通过命令 sudo apt-get install openssh-server,安装SSH服务。
通过命令 ps –e|grep ssh,查看ssh服务是否启动。
通过以上命令,我们为Ubantu系统安装SSH服务。并配置SSH无password登陆。首先我们改动主机和ip配置文件:gedit /ect/hosts
2、创建用户git,用来管理执行git服务。
3、配置无passwordSSH登陆
在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就可以完毕无password登陆。
4、安装Git
通过命令 sudo apt-get install git-core,安装git
5、建立git仓库的存储文件夹。
6、初始化server端仓库
使用命令 git –bare init /home/git/myRep.git,初始化化仓库
7、在gitClient_01上,通过git clone命令进行克隆远程仓库。并在各自的电脑上执行开发。
Git clone
[email protected]:/home/git/myRep.git
通过以上的步骤我们就完毕了gitserver的搭建。完毕搭建后,我们须要了解一下与gitserver交互过程中所用到命令。主要命令有 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。
如有疑问咨询或技术交流。请增加官方QQ群: (452379712)
作者:杰瑞教育
出处:http://blog.csdn.net/jerehedu/
本文版权归烟台杰瑞教育科技有限公司和CSDN共同拥有,欢迎转载,但未经作者允许必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。