Fork me on GitHub

Git学习 -- 搭建Git服务器


搭建环境

  服务器端:CentOS 6.5   IP:192.168.101.129

  客户端:CentOS 6.5 、 Windows

 

服务器端:

  创建repository版本库,例如/srv/test.git      

    git init --bare     创建一个裸仓库,没有工作区,目的是不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾

    

  把要访问的客户端公钥(id_rsa.pub)追加到服务器端~/.ssh/authorized_keys文件中

    客户端的公钥和私钥位于~/.ssh/目录下,没有可通过ssh-keygen -t rsa命令产生

 

  修改sshd配置文件(/etc/ssh/sshd_config),取消以下行的注释:   

    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys

 

客户端:

  git clone root@192.168.101.129:/srv/test.git

 

  也可以:

    git push

    git pull

 


 

  如果遇到错误:[remote rejected] master -> master (branch is currently checked out)

  说明服务器端目前所处分支 和 客户端推送的分支 相同,不能推送

  解决办法:

    1 修改服务器端.git/config配置文件

      [receive] 

      denyCurrentBranch = ignore

    2 使分支不同

 

    3 初始化用git init --bare  不用 git init

      这样初始化的是一个没有工作区的仓库,push推送的文件保存在仓库目录里(test.git/objects/)

 

posted @ 2015-10-23 00:48  Roronoa__Zoro  阅读(165)  评论(0编辑  收藏  举报