安装环境  centos7

说明:centos  yum 库里面的git  好像是不区分 客户端和服务器端, 安装 git 以后 就可以创建  仓库,也可以检出 别的 git 仓库的  代码了。所以不用 纠结 找 git server 和 git client。

第一步: yum -y install git  等待 安装完成

第二步:  查看git  是否正常安装。

第三步: 添加  用户  useradd git  ,然后 为他设置密码  passd git  。 下面提示密码太短,但是设置成功了。

第4 步:找个 存放 git 仓库的 目录。 我放在 /git/resp

  mkdir -p  /git/resp

  cd /git/resp

第5 步: 创建 初始化仓库   git init --bare test.git

第6步:指定 这个目录的权限   chown -R  git:git resp   ,直接白 resp 目录和子目录 的用户和用户组都指向 git 。  ( 如果不做这一步无法上传 )

  

第七步:git clone git@ip:/git/resp/test.git

备注:git clone 用户名@你的服务器ip:仓库路径

备注2:我一般 使用的  tortoisegit ,用法 和 tortoisesvn 差不多。

上面就做完一个git 用户的 登陆了, 但是通过用户名密码登陆,肯定不是我们想要的 下面我们要做的  git 的 证书登陆。

第8步: 回到 /home.git 目录下面  ,

第九步:  mkdir .ssh  touch  然后在  .ssh目录下面  touch authorized_keys

第10步: 在 authorized_keys 里面写入你的公钥  vi authorized_keys 然后 写入 你的私钥

备注: 如果你们团队有 20 个人 ,那么 收集 他们的 公钥 ,然后 一次写在 这个里面就可以了。

第 11 步:clone 代码的时候  直接选择 你的私钥就可以了

第 12 步: 怎么区分谁是谁上传的呢。  tortoisesvn  右键 设置里面 可以修改 名字和邮箱。

  

第 13 步: git 这个用户 我们 其实不需要它登陆 。所以应该 禁用它的登陆。

因为 我们只是想禁用 git 这个账户的登陆。

  vi /etc/passwd

git:x:1000:1000:,,,:/home/git:/bin/bash

  改成

git:x:1000:1000:,,,:/home/git:/usr/bin/git-shell

备注: 正常用户 进入shell 是 执行的 /bin/bash  这个文件 , /usr/bin/git-shell 文件是安装git 的时候 附带的,这里面限制了用户登陆。

备注:有些人觉得 git 这种  每个人一个 证书,并且 上传用户 是 自己随便改的 ,不安全, A 可能假冒 B 乱改代码。 没错,确实有这种可能,但是一般同一个团队 不会这样做。

如果 你非常想 一个人一套用户密码。那么你大概可以这么干,添加 N个用户 。 设置 这些用户 为同一个 用户组,比如 都归属于 git 这个用户组。 设置 仓库 的  权限 777 ,修改 这些用户的 umask=002 。 这样就每个人都有自己的账号密码了。上面 colen 的地址 每个人也不同( git clone 用户名@你的服务器ip:仓库路径 )。

备注:  centos  yum 库里面的git  好像不区分 客户端和服务器端, 安装 git 以后 就可以创建  仓库,也可以检出 别的 git 仓库的  代码了。

centos git server 的搭建的更多相关文章

  1. linux git server 简易搭建 (ssh访问)

    git的服务器搭建,如果无需权限控制,仅团队内部使用,初始化一个服务器仓库,其他人通过ssh访问这个文件夹即可.如需复杂的管理,建议使用gitlab. yum install git -y id gi ...

  2. git server服务器搭建

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579 ...

  3. Ubuntu server 搭建Git server

    Ubuntu server 搭建Git server,git相比svn,最主要就是分布式了,每个客户端用户的本地都是一个版本管理控制器. Ubuntu server 版本为12.04 搭建步骤如下: ...

  4. 在 mac os 上搭建 git server

    前言:之前学习了如何使用 git 后,一直想搭建一个本机搭建一个 git server 的,一开始不知道走了弯路用了 gitosis,折腾了我好几天都没配置好.昨晚查资料发现 gitosis 早就过时 ...

  5. # 基于Gitolite搭建Git Server - 支持SSH&HTTP

    Git, 一个分布式的版本管理工具,我认为其革命性的点:在于改变了用户协作的方式,使得协作更简单. 下面讲述 使用一个开源软件 Gitolite搭建一个Git Sever, 并给了一个推荐的团队协助方 ...

  6. 搭建Git Server

    windows上如何搭建Git Server   Git在版本控制方面,相比与SVN有更多的灵活性,对于开源的项目,我们可以托管到Github上面,非常方便,但是闭源的项目就会收取昂贵的费用.那么私有 ...

  7. Setup Git Server in CentOS 6.3

    0. Environment: Server machine: CentOS 6.3 x86 Client machine: Windows 10 Pro x86_64 1. Install ssh ...

  8. Windows下搭建Git 服务器: BONOBO GIT SERVER + TortoiseGit

    本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...

  9. Ubuntu 搭建简单的git server

    Git 可以使用四种主要的协议来传输资料:本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 Git 协议. 在此,我们将会讨论那些协议及哪些情形应该使用(或避免使用)他 ...

随机推荐

  1. ACM-ICPC 2018 徐州赛区网络预赛 G. Trace

    There's a beach in the first quadrant. And from time to time, there are sea waves. A wave ( xx , yy  ...

  2. git工具学习

    最近实习的时候,遇到git工具,发现好强大之前没用过,特来学习下,然后自己注册了一个github账号,结合git命令练习一下,git的安装就不说了. 学习资料来源:廖雪峰Git教程 git简介: gi ...

  3. day 41 mysql 函数 事物

    mysql 函数 事务   mysql 中提供了许多内置函数 CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符.一个多字节字符算作一个单字符. 对于一个包含五个二字节字 ...

  4. Nodejs安装express提示不是内部或外部命令

    安装nodejs安装包后,通过npm安装express后,运行express提示" express"不是内部或外部命令. c:\express -t ejs web 原因是版本问题 ...

  5. 继承映射中的java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: person is not mapped [FROM person]

    继承映射中查询对象的过程中报错: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxExcep ...

  6. 如何给cbv的程序添加装饰器

    引入method_decorator模块 1,直接在类上加装饰器 @method_decorator(test,name=‘dispatch’) class Loginview(view) 2,直接在 ...

  7. Js代码一些要素

    ---恢复内容开始--- 条件语句 is(条件){ 语句 }else { 语句 } {}在js中我们把他叫代码块.如果代码块里内容没有执行完,语句就不会向下执行. 代码块是一个独立的整体.如果js中莫 ...

  8. 莫烦tensorflow(3)-Variable

    import tensorflow as tf state = tf.Variable(0,name='counter') one = tf.constant(1) new_value = tf.ad ...

  9. JavaBasic_09

    方法的参数传递 方法调用时参数值的传递可以分为"值传递"和"引用传递"两种 值传递 - a.当方法的参数为基本数据类型时 b.实参的值被复制给形参,改变形参不会 ...

  10. [LeetCode&Python] Problem 888. Fair Candy Swap

    Alice and Bob have candy bars of different sizes: A[i] is the size of the i-th bar of candy that Ali ...