远程搭建git服务器新手踩坑

因业务需要搭建远程git服务器,期间遇到了些许问题,在此记录一下,给对于服务器端操作不太熟悉的同学一点帮助(每条命令后都有较为详细的解释,若对命令不熟悉可以读一读)。

服务器及本地环境

服务器端 使用centos 6.5版本 本地(即clone方)OSx系统终端

安装git

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel  //安装git需要的依赖包
$ ssh root@{port}      //链接远程服务器  里面的port使用真实服务器ip进行替换
$ yum install git       //yum是CentOS中的软件包管理工具,类似于前端经常使用的npm,简单的 yum install [packageName] 即可进行程序的安装

创建用户及群组

如同svn一样,一个远程的git将会有多个项目组或多个人进行使用,这个时候,需要创建多个账号及用户组,这样无论是需要查找某段代码是谁进行的修改,亦或是需要进行权限的管理都显得方便许多。

$ grouped gao_team   //添加 名称为gao_team的用户群组
$ adduser gaogao -g gao_team   //添加用户 gaogao 至gao_team群组(前面的git为用户名 后面的为群组名字) 
$ passed gaogao  //用户初始状态下无密码,若无密码 是不可以登录的  保护机制  在链接的时候 也可能会出现报错

初始化需要使用git的文件夹

$ cd /home        //进入家目录,此目录是刚才建立的用户可访问的首页目录,如建立用户gaogao,则其家目录为 home/gaogao   而root用户可看到此服务器中所有用户的家目录
$ mkdir gaogao_file  //mkdir命令建立 gaogao_file 文件夹 
$ chown gaogao:gao_team gaogao_file  //通过chown改变文件的拥有者和群组,此操作中将gaogao_file文件夹的所有者改为gao_team的gagao(注意,此命令需要root权限者才能进行操作)
$ cd gaogao_file   //使用cd命令进入我们刚创建的gaogao_file文件夹
$ git init - -bare gaogao.git   //初始化git库,注意 git init 命令 和 git init - -bare命令是不同的 git init - -bare建立的git库是不支持各种git操作的裸仓库,其只保存git历史提交的版本信息,不允许用户进行git操作
Initialized empty Git repository in /home/gaogao_file/gao.git/
这里若成功,则会出现提示,下面我们用chown命令,将刚新建好的gao.git的所有者改为gaogao用户(和刚才文件夹操作方式大同小异)
$ chown -R git:git runoob.git   //这里多了个-R,意味向下进行循环,即这个目录及其下面的子目录的所有者均进行改变,当然了这个chown命令依旧是需要root权限者才可以进行操作的。

试试效果
使用本地终端,进行操作

$ git clone [email protected]:/home/gaogao_file/gao.git  //这里使用你的ip对xxx.xx.xx.x进行替换
Cloning into 'gao'...
warning: You appear to have cloned an empty repository.
Checking connectivity… done.
到现在为止,git服务器算是搭建完毕了,本文是博主在搭建过程中,摸索时查看了一些资料,有些资料解释较少,我根据自己的理解进行了补充,若有一些疏漏的地方,也请您不吝赐教,祝大家工作顺利

你可能感兴趣的:(远程搭建git服务器新手踩坑)