本篇文章简要记录一下在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 #远程克隆仓库
如果 clone 是本机的仓库,则可以直接:
git clone /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代码了。