zoukankan      html  css  js  c++  java
  • centos搭建git服务器(转)

    一:git服务安装

      1.安装git相关组件

    1. [root@gitserver ~] yum -y install git

      2.创建git用户

    1. [root@gitserver ~] groupadd git && useradd git -g git

      3.创建git用户授权登录用户文件authorized_keys

    1. [root@gitserver ~] mkdir -p /home/git/.ssh/
    2. [root@gitserver ~] touch /home/git/.ssh/authorized_keys
    3. [root@gitserver ~] chmod 700 /home/git/.ssh
    4. [root@gitserver ~] chmod 600 /home/git/.ssh/authorized_keys
    5. [root@gitserver ~] chown git.git -R /home/git/.ssh #所属用户这里设置很关键哦

      4.限制git用户权限,禁止shell登录
    修改/etc/passwd 下git用户 git:x:1002:1002::/home/git:/bin/bash 为:

    1. git:x:1002:1002::/home/git:/usr/bin/git-shell

    授权了/usr/bin/git-shell 所以还需要拷贝对应文件到git用户目录

    1. [root@gitserver ~] cp -R /usr/share/doc/git-1.8.3.1/contrib/git-shell-commands /home/git/
    2. [root@gitserver ~] chown git.git -R /home/git/git-shell-commands/
    3. [root@gitserver ~] chmod 755 /home/git/git-shell-commands/*

    二:创建git仓库

      选定一个目录作为Git仓库,假定是/home/gitdata/cnyunwei.git

    1. [root@gitserver ~] cd /home
    2. [root@gitserver home] mkdir gitdata
    3. [root@gitserver home] cd gitdata
    4. [root@gitserver gitdata] git init --bare cnyunwei.git #--bare 参数是创建空库
    5. [root@gitserver home] chown git.git -R /home/gitdata/ #必须设置为git用户,否则无法写入文件

    三:创建本地用户公钥,并导入authorized_keys:

      使用Git Bash 生成密钥:
    下载安装: https://git-scm.com/download/win 
    打开Git Bash (类似于一个CMD窗口)

    1. ssh-keygen -t rsa -C "email@email.com" #邮箱这里可以选填,全部敲回车即可生成密钥

    密钥文件在C:Usersusrname.ssh 下,将id_rsa.pub 的文件添加到服务器authorized_keys 文件中即可。

    四:关联本地仓库和远程空仓库(这里是通过Git Bash 命令方式关联)

      git是采用SSH传输,如果服务器的SSH端口不是22 就需要调整URL地址

    1. cd e:/cnyunwei #进入本地项目文件夹目录
    2. git remote add origin ssh://git@192.168.31.10:22000/home/gitdata/cnyunwei.git #关联本地仓库到远程空仓库

      默认SSH端口的情况下使用:

    1. git remote add origin git@192.168.31.10:/home/gitdata/cnyunwei.git

      如果出现下面的报错,是没有本地仓库的意思,先生成本地仓库再关联即可。

    1. fatal: Not a git repository (or any of the parent directories): .git
    2. git init
    3. git remote add origin ssh://git@192.168.31.10:22000/home/gitdata/cnyunwei.git

      测试一下提交到远程仓库:

    1. git add --all
    2. git commit -m "初始化"
    3. git push -u origin master

      git服务器的安装到此完成,如果在提交文件到远程仓库时提示如下错误,请检查服务器上git仓库所属用户和用户组是否为git 。

    1. remote: error: insufficient permission for adding an object to repository database ./objects
    2. remote: fatal: failed to write object

    如果遇到protocol error: bad line length character: This问题

    有可能是你修改了/etc/passwd中git为/sbin/nologin改成和本文一样的即可

    转自https://www.cnyunwei.cc/archives/1072

  • 相关阅读:
    ubuntu下安装gcc,g++
    React Native核心组件View的介绍
    React Native组件生命周期
    React Native的props和state的介绍
    android出现anr(application not response)的分析
    HDU 2050:折线分割平面
    Codeforces 989A:A Blend of Springtime
    Codeforces 990B :Micro-World
    51Nod 1089:最长回文子串 V2(Manacher算法)
    51Nod 1088:最长回文子串(暴力)
  • 原文地址:https://www.cnblogs.com/lgh344902118/p/7654651.html
Copyright © 2011-2022 走看看