当前位置: 首页 > 科技观察

一步步详解搭建Git服务器的全过程

时间:2023-03-18 14:38:51 科技观察

GitHub是一个免费托管开源代码的Git服务器。如果我们不想公开项目的源代码,也不想为此付费,那么我们可以自己搭建一个Git服务器。让我们来看看如何在Ubuntu上构建Git服务器。我们使用VMware虚拟机安装两个Ubantu系统,分别命名为gitServer和gitClient_01。1、安装OpenSSH并配置SSH无密码登录。使用命令sudoapt-getinstallopenssh-server安装SSH服务。使用命令ps–e|grepssh查看ssh服务是否启动。通过以上命令,我们为Ubantu系统安装SSH服务,并配置SSH无密码登录。首先我们修改host和ip配置文件:gedit/ect/hosts2,创建一个用户git来管理和运行git服务。3、在gitClient_01上配置SSH无密码登录,我们使用命令:ssh-keygen–trsa生成密钥,如下图,完成后在.ssh目录下可以看到id_rsa和id_rsa。pub文件,id_rsa.pub为公钥,我们通过命令scp/home/git/.ssh/id_rsa.pubgitServer:/home/git将gitClient_01上生成的公钥复制到gitServer。在gitServer上,我们首先查看/home/git/.ssh目录下是否存在authorized_kesys文件。如果没有,我们可以通过touchauthorized_keys创建这个文件。Authorized_keys创建完成后,将gitClient_01复制的公钥id_rsa.pub内容添加到authroized_keys中。请注意,它已添加到此文件中。您可以使用命令cat/home/git/id_rsa.pub>>/home/git/.ssh/authorized_keys。以上内容完成后,我们就可以在gitClient_01中使用命令sshgitServer来完成无密码登录了。4.安装Git使用命令sudoapt-getinstallgit-core安装git5,并为git仓库创建存放目录。6.初始化服务器端仓库使用命令git–bareinit/home/git/myRep.git初始化仓库7.在gitClient_01上,使用gitclone命令克隆远程仓库,在各自电脑上运行开发.gitclonegit@gitServer:/home/git/myRep.git通过以上步骤,我们就完成了git服务器的搭建。搭建完成后,我们需要了解与git服务器交互过程中使用的命令。主要的命令有gitclone,gitremote,gitfetch,gitpull,gitpush等,下面我们一一了解下1.gitclone命令是我们与远程仓库交互的第一步。通过这个命令,我们可以将远程版本的库clone到本地,如上面第7步,我们使用这个命令将远程库clone到本地。语法:gitclone版本库的URL本地库名本地库名可以省略。省略后,本地会生成一个与远程版本库同名的目录。2.gitremote该命令用于管理远程主机名,该命令可以不带参数列出所有主机名。说明origin正在使用clone命令,Git在克隆远程仓库时自动命名远程主机。通过命令gitremote–v,可以查看仓库的URL。3、gitfetch命令可以将远程仓库更新到本地仓库。语法:gitfetchhostname默认情况下,gitfetchorigin将更新远程主机origin上的所有分支。如果只想更新某个分支,在主机名origin后面加上分支名。语法:gitfetchoriginmaster4,gitpush该命令用于将本地分支的更新推送到远程主机。语法:gitpush远程主机名本地分支名:远程分支名如果省略远程分支名,则表示将本地分支推送到有最终关系的远程分支。如果远程分支不存在,则新建。例如:gitpushoriginmaster表示将本地的master分支推送到origin主机的master分支。如果省略本地分子名,表示删除远程主机中的分支,如gitpushorigin:master,表示删除origin主机中的master分支。5、gitpull命令用于获取远程分支中的更新。语法:gitpullremotehostremotebranch:localbranch如:gitpulloriginmaster:master,表示将远程主机origin中的master分支更新为本地分支master。