美文网首页
局域网搭建git服务端并使用Github Desktop作为客户

局域网搭建git服务端并使用Github Desktop作为客户

作者: 追梦3000 | 来源:发表于2017-11-04 13:57 被阅读750次

    在使用了github的客户端软件Github Desktop之后,感受到了git的便捷,研究了一下与svn的区别之后,结合目前的团队情况,决定下个项目开始使用git。

    整理一下,这里服务端为centos 6.5,客户端为mac。

    一、服务端安装git

    yum install git
    

    二、服务端创建用户

    groupadd git和组
    useradd -g git -d /var/git git
    sudo chown -R git:git /var/git
    passwd git
    

    注意下面两步非常重要,如不做后面会出现奇怪问题。

    三、使得创建的git用户不需要输入密码就可以ssh登录

    这一步很重要,否则在git提交文件的过程中将提示密码,并且GitDesktop clone这个git的时候会提示缺少权限。

    1、 在客户端执行

    ssh-keygen -t rsa
    
    rsa

    此时,会在用户目录的.ssh目录中创建id_rsa和id_rsa.pub文件

    image.png

    2、服务端配置

    把刚才生成的id_rsa.pub这个文件传输到服务端,并将这个文件的内容追加到服务端/var/git/.ssh/authorized_keys中,注意:.ssh文件夹可能不存在,需要新建

    cd /var/git
    mkdir .ssh
    cat /home/ftpuser/id_rsa.pub >> /var/git/.ssh/authorized_keys
    

    3、配置读写权限

    su git
    chmod 600 ~/.ssh/authorized_keys 
    chmod 700 -R ~/.ssh/
    

    注意这里一定是使用git这个用户来设置

    image.png

    如果是windows版本的客户端,首先安装git https://git-for-windows.github.io/,之后就一样了。

    四、服务端初始化git版本库

    注意需要使用git这个用户

    su git
    cd /var/git
    mkdir project.git
    cd project.git
    git --bare init
    
    
    
    
    install

    五、客户端clone操作

    git clone git@192.168.1.238:/var/git/project.git
    cd project
    
    client

    五、客户端提交文件

    touch README.md
    git add README.md
    git commit -m "备注"
    git push origin master
    
    commit

    这里出现了错误remote unpack failed: unpack-objects abnormal exit
    是因为服务端未设置权限sudo chown -R git:git /var/git

    执行之后再次提交

    git push origin master
    
    image.png

    六、使用Github Desktop

    打开Github Desktop,选择File->Clone Repository...

    image.png

    切换到URL标签,并输入git地址
    git@192.168.1.238:/var/git/project.git

    点击Clone按钮,大功告成。

    image.png

    相关文章

      网友评论

          本文标题:局域网搭建git服务端并使用Github Desktop作为客户

          本文链接:https://www.haomeiwen.com/subject/apmfmxtx.html