zoukankan      html  css  js  c++  java
  • mac 搭建git服务器

     

    一、简单搭建,不提供复杂的权限管理;

    远程建立git用户,并打开ssh服务;见http://www.cnblogs.com/whj198579/archive/2013/04/09/3009350.html,
    上面这个网址中的方法可以建立一个简单的git服务器,没有读写权限管理;
    本地config配置可见:http://wlog.cn/soft/git-ssh-server-for-debian.html;
    本地config的作用是不用每次都输入ip等;

    二、使用gitosis提供复杂的权限管理:
    1.先在客户端生成public key,传递到远程。

    scp ~/.ssh/admin.pub git@yourOtherMachineName:admin.pub


    2.gitosis安装过程见http://yasir.cn/blogs/blog/38/
    注意,上面安装过程中使用的公钥是作为管理员的客户端创建的。clone gitolite-admin也是在作为管理员的客户端做的,由此客户端管理远程,不用每次都去服务端操作,gitolite-admin会在修改push后在服务端生成需要的目录等。另外,使用gitolite-admin后不用在每次clone时指定服务端的git仓库路径,上面没有使用gitosis的方法是需要clone时指定服务器git仓库所在路径的。

    三、以上是ssh的方式访问git仓库;如何用http建立一个远程仓库呢

    1.首先启动Apache:

    sudo apachectl start
    

      此时Mac就成了一个Web服务器。服务器默认访问路径:/Library/WebServer/Documents/

    2.初始化一个裸仓库,假设是proj.git

    mkdir proj.git
    

      

    git init --bare
    

     或者clone一个现有仓库作为裸仓库:

    git clone --bare ~/proj proj.git
    

      

    3.将裸仓库放到服务器的路径下并设置:

    $ cd proj.git
    $ git --bare update-server-info
    $ chmod a+x hooks/post-update
    

      
    4.客户端可以访问了:

    git clone http://yourserver.com/proj.git的路径
    

      参考:http://gitbook.liuhui998.com/4_11.html

  • 相关阅读:
    Asp.net core中间件实现原理及用法解说
    C#中,async关键字到底起什么作用?
    C# 中的Async 和 Await 的用法详解
    .NET委托,事件和Lambda表达式
    docker push到私有仓库 docker push 镜像到harbor
    shell tput的用法
    Shell中获取脚本的绝对路径$( cd "$( dirname "$0" )" && pwd)
    shell脚本中 "set -e" 的作用
    从旧goadddy账号转移域名到新的goaddy账号中
    git制作patch的步骤
  • 原文地址:https://www.cnblogs.com/dokaygang128/p/3676025.html
Copyright © 2011-2022 走看看