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

    搭建简单的Git服务器

    搭建 Git 服务器最重要的是 .git 文件夹和里面的内容,

    创建一个裸仓库:

    $ git clone --bare my_project/.git  myproject.git

    该命令等效于:

    $ cp -Rf  my_project/.git  myproject.git

    这样就可以取出 仓库 本身,而不是工作目录

    然后把 myproject.git 上传到服务器上,若服务器上的路径为 /src/myproject.git

    $ git clone user@server.com:/src/myproject.git

    通过这个命令就可以拷贝仓库了。在这之前首先要在服务器上设置该 Git 仓库可以共享:

    $ cd /src/myproject.git
    $ git init --bare --shared

    另外,也可以用服务器上的 git 用户在服务器上创建一个空的 git 仓库,之后再在本地上将任意一个 git 仓库 push 到服务器上。操作是类似的。

    仓库拷贝下来后就有所有的文件都会在当前的目录下面,那么就可以开始项目了。

    之后的操作就像使用 GitHub 一样,不过远程仓库并不是在 GitHub 上而是在私有的服务器上。

    但是这样的话,在每次 push 或者 pull 操作都需要输入密码。

    搭建通过 SSH 访问的 Git 服务器

    首先在服务器上添加一个专门用于 git 访问的用户

    $ sudo adduser git
    $ su git
    $ cd ~
    $ mkdir .ssh && chmod 700 .ssh
    $ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

    这样就创建了用户 git,并且 git 在 /home 目录下有自己的 HOME 目录。

    之后是在 git 的 HOME 目录中创建 .ssh 文件夹和 authorized_keys 文件,权限设置为仅能 git 用户访问。

    然后收集需要访问该 Git 服务器上的用户的公钥,一般公钥存放在 id_rsa.pub 文件中:

    ~/.ssh/id_rsa.pub

    若 A 把自己的公钥文件上传到服务器上,用 git 用户添加到 /home/git/.ssh/authorized_keys 这个文件中,那么 A 就可以通过 SSH 访问 git 仓库,而不用再输入密码。

    如果需要限制 git 用户的 shell 访问,可以将 /etc/passwd 文件中的 git 那一行的 /bin/bash 改成 /usr/bin/git-shell 就可以限制 git 用户的 shell 登陆了。:

     

     

    references:

    服务器上的 Git - 在服务器上搭建 Git

    服务器上的 Git - 配置服务器

    本博客由 BriFuture 原创,并在个人博客(WordPress构建) BriFuture's Blog 上发布。欢迎访问。
    欢迎遵照 CC-BY-NC-SA 协议规定转载,请在正文中标注并保留本人信息。
  • 相关阅读:
    JavaScript Date对象和函数 (一)
    Css3 文字渐变整理(一)
    Asp.net Core CacheHelper 通用缓存帮助类
    .net core中使用GB2312编码的问题
    苹果手机微信浏览器select标签选择完成之后页面不会自动回到原位
    .Net Core NOPI操作word(二) 表格操作
    .Net Core NOPI操作word(一)
    .NetCore中EFCore的使用整理(三)-关联表操作
    windos server2012安装.net core 2.2问题
    C# 最简单的使程序单进程运行的方法
  • 原文地址:https://www.cnblogs.com/brifuture/p/8127258.html
Copyright © 2011-2022 走看看