一: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:\Users\usrname\.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

centos搭建git服务器(转)的更多相关文章

  1. 在CentOS搭建Git服务器 转

    在CentOS搭建Git服务器 来自 :http://www.jianshu.com/p/69ea5ded3ede 前言 我们可以GitHub发布一些开源代码的公共仓库,但对于私密仓库就需要收费了.公 ...

  2. CentOS搭建Git服务器及权限管理

    声明:本教程,仅作为配置的记录,细节不展开,需要您有一点linux的命令基础,仅作为配置参考. 1. 系统环境 系统: Linux:CentOS 7.2 64位 由于CentOS已经内置了OpenSS ...

  3. 在centos搭建git服务器时,不小心把/home/git目录删除了,我是怎么恢复的

    在centos搭建git服务器时,不小心把/home/git目录删除了,我是怎么恢复的 在删除掉/home/git目录后,每次 git push提交时,都让填写密码,烦 第一步:在本地找到id_rsa ...

  4. centos 搭建git服务器

    centos 6搭建git服务器 安装 rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm yum ins ...

  5. 自定义Git之使用centos搭建git 服务器

    Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费. 这时我们就需要自己搭建一台Git服务器作为私有仓库使用. 接下来我们将以 Centos 为例搭建 Git 服务器. 1 ...

  6. Centos搭建 Git 服务器教程

    搭建 GIT 服务器教程 下载安装 git Git 是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 此实验以 CentOS 7.2 x64 的系统为环境,搭建 git 服 ...

  7. CentOS 搭建 Git 服务器

    官方文档移步 Git 服务器的搭建 安装 Git #yum install git 创建 Git 专用用户 #useradd git,改密码 #passwd git,切换至 Git 用户 #su gi ...

  8. CentOS搭建git服务器实测

    Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议 1,安装: CentOS/Fedora: yum install git Ubuntu/Debian: ...

  9. CentOS搭建GIT服务器

    安装git # 请确保您切换到了root账户 $ su root $ yum install -y git # 验证是否安装成功 $ git --version # 输出如下内容表示成功: git v ...

随机推荐

  1. Linux中实现一个简单的进度条【转】

    转自:http://blog.csdn.net/yuehailin/article/details/53999288 说起进度条,其实大家常常见到,比如说你在下载视频或文件的时候,提示你当前下载进度的 ...

  2. JAVA 开发工具 市场状况

    转载:http://blog.csdn.net/hj7jay/article/details/52250755 2016 JAVA 流行的开发工具 最流行的工具并不一定是“最好的”,对于开发来说,什么 ...

  3. 2.kafka单节点broker的安装与启动

    下载kafka,http://kafka.apache.org/downloads kafka下面的文件结构如下: 进入bin目录,启动kafka之前要先启动zookeeper ./zookeeper ...

  4. 《Java编程思想》笔记 第十九章 枚举类型

    1.基本enum特征 所有创建的枚举类都继承自抽象类 java.lang.Enum; 一个枚举类,所有实例都要在第一句写出以 ,隔开. 如果只有实例最后可以不加 : 枚举类因为继承了Enum,所以再不 ...

  5. 网站js埋点

    js埋点 1.埋点作用:  页面埋点的作用:其实就是用于流量分析.而流量的意思,包含了很多:页面浏览数(PV).独立访问者数量(UV).IP.页面停留时间.页面操作时间.页面访问次数.按钮点击次数.文 ...

  6. hdu5819

    补多校系列,具体见多校题解http://www.cnblogs.com/duoxiao/p/5777700.html 值得注意的是如果当前i初始向左,前i个骑士最终只有1个向右 对于f[i][1]状态 ...

  7. 漫谈网络通信——从OSI网络模型到TCP/IP协议族

    OSI七层模型 OSI(Open System Interconnection,开放系统互联)七层网络模型成为开放式系统互联参考模型,是一个把网络通信在逻辑上的定义,也可以理解成为定义了通用的网络通信 ...

  8. CSS 从入门到放弃系列:CSS的引入方式

    css的四种引入方式 内联方式(行间样式) <div style="width:100px;height: 100px; background-color: red"> ...

  9. 差分+树状数组 线段树【P2357】 守墓人

    题目描述-->p2357 守墓人 敲了一遍线段树,水过. 树状数组分析 主要思路: 差分 简单介绍一下差分(详细概念太麻烦,看下面. 给定一个数组 7 8 6 5 1 8 18 20 35 // ...

  10. 数据排序 第三讲( 各种排序方法 结合noi题库1.10)

    说了那么多种排序方法了,下面就来先做几个题吧 06:整数奇偶排序 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 给定10个整数的序列,要求对其重新排序.排序 ...