本篇文章简要记录一下在linux centos 6.5的环境下搭建git服务器的步骤,注意前提是你的环境已经安装好了git软件。

如果需要安装git软件,请参考本站文章:

第一步:创建git用户组和用户(已经存在的可以略过此步骤)

groupadd git #添加git用户组

useradd -g git git #添加git用户,并将该用户添加到git用户组

第二步:创建项目仓库

cd /home/git # 打开git用户目录

git init --bare phpernote.git #在当前目录建git空仓库phpernote.git

chown -R git:git phpernote.git #更改仓库目录权限

第三步:配置服务端存放客户端公钥(注意:如果机器上已经做过 ssh 的相关配置,则本步骤可以省去)

mkdir /home/git/.ssh; #创建.ssh目录

touch .ssh/authorized_keys #创建 authorized_keys 文件,用来存储git客户端用户的公钥

第四步:配置客户端的访问权限

客户端生成公钥文件,在命令行下执行如下命令:

ssh-keygen -t rsa -C "你在git中配置的邮箱名称"

回车后会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入,这里强烈建议不要输入,否则每次提交代码都要输入密码会让你吐血。

一路回车完成后屏幕会出来一大堆乱码,这里不用管,其实就是你的私钥字符。

我们主要是在 /home/当前用户/.ssh 目录下找到 id_rsa(私钥) 和 id_rsa.pub(公钥) 这两个文件。

注意windows下会生成到 C:\Users\当前用户\.ssh 目录下。

将生成的公钥文件 id_rsa.pub 上传到服务器后,然后可执行如下命令将该文件内容追加到 authorized_keys 文件中

cat /home/git/id_rsa.pub >> ~/.ssh/authorized_keys

注意发给服务器的是 id_rsa.pub 文件的内容,而不是 id_rsa 文件的。

至此自己的git服务器就搭建完成了,你可在任意可以联网的客户端通过如下链接远程克隆这个空仓库

git clone ssh://git@123.56.71.70:/home/git/phpernote.git #远程克隆仓库

如果设置有端口号,则:

git clone ssh://git@123.56.71.70:443/home/git/phpernote.git #远程克隆仓库

该命令将会在当前目录下创建 phpernote 目录并将内容保存到该目录里面,如果需要保存到指定目录则可以:

git clone ssh://git@123.56.71.70:443/home/git/phpernote.git ./example #远程克隆仓库并将内容保存到当前目录的 example 目录内

克隆完毕就可以网上push 和 pull代码了。