Git服务器搭建全过程分步详解
注:本⽂转⾃51CTO
如果省略本地分⼦名,则表⽰要删除远程主机中分⽀,如git push origin : master,则表⽰删除origin主机中master分⽀.
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服务器的搭建,完成搭建后,我们需要了解⼀下与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使用详解此命令⽤于获取远程分⽀中更新。
语法:git pull 远程主机 远程分⽀:本地分⽀如:git pull origin master:master,表⽰将远程主机origin中的master分⽀跟新到本地分⽀master。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论