首先服务器需安装git

  参考链接:https://www.cnblogs.com/-mrl/p/11045998.html

搭建git服务器

1.新建git仓库主目录,可以选择创建在/data目录下。也可以选择放置在/var目录下【mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录】

mkdir -p /data/gitrepos 

2.新建访问用户,下面新增zhangsan,lisi两个git用户,添加后用户会生成/home/zahngsan家目录;

useradd zhangsan
useradd lisi

或【适用于使用密码登录的情况】

seradd -M zhangsan        //-M 表示不创建家目录

3.给用户设置密码,分别设置登陆密码,拉取代码和提交代码需要提供密码;

passwd zhangsan
passwd lisi

4.变更git仓库的所有者到任何人 ,赋予nobody就是把权限给了所有人;

chown -R nobody:nobody /data/gitrepos

5.修改git仓库的读写权限,这样子git仓库就能读写了,否则会报错拒绝提交的;

chmod -R 755 /data

6.修改用户shell登陆权限(禁止客户端shell登录),找到最后头的zhangsan、lisi,把冒号后面的/bin/bash改成/usr/local/git/bin/git-shell,就是你的git安装目录下的/bin/git-shell,然后保存退出。【每次都想输入密码则可忽略】

vi /etc/passwd

如:

7.添加用户的SSH公钥,免密码登录【使用密钥对来增强安全性,并且免去输密码的麻烦,如需每次输入密码登录该步骤可省去】。【每次都想输入密码则可忽略】

创建公钥目录

mkdir -p /home/zhangsan/.ssh

切换目录后创建密钥存放文件

cd /home/zhangsan/.ssh
vi authorized_keys

将从zahngsan、lisi的电脑的C:/users/用户名/.ssh目录下找到id_rsa.pub,分别设置到对应的用户的.ssh目录中authorized_keys文件中;

(PS1:如果张三没有id_rsa.pub文件的话,那就用cmd执行git config --global user.name "zahngsan" git config --global user.email "张三的能接收邮件的邮箱",然后执行 ssh-keygen,然后按三下回车【PS:它先要求你确认保存公钥的位置(.ssh/id_rsa),然后它会让你重复一个密码两次,如果不想在使用公钥的时候输入密码,可以留空。】,就有那个文件了)

(PS2:也可是使用以下方法获取id_rsa.pub文件

下载git客户端安装好后右键选择Git GUI Here->Help->Show SSH Key

命令截图如下:

验证git服务器

1.linux git服务器创建裸仓库目录 创建裸仓库目录,test为项目名

mkdir -p /data/gitrepos/test

2.linux git服务器创建裸仓库 ,git服务器初始化仓库的时候一定要加上--bare,否则你的仓库不能推送代码,test为项目名;

git init --bare /data/gitrepos/test/test.git

3.linux git服务器修改git仓库的读写权限,这样子git仓库就能读写了,否则会报错拒绝提交的,如果push出错有可能这里的权限问题;

chmod -R 777 /data/gitrepos/test

4.在window安装git客户端,打开git bash切换到指定目录,输入git clone zhangsan@服务器IP:/data/gitrepos/test/test.git【PS:如git clone zhangsan@192.168.0.119:/data/gitrepos/test/test.git】,

然后按照提示输入密码就能clone项目;【PS:设置了SSH公钥免密码登录则不需要输入密码】
5.在window然后增加个readme.txt或者其他文件,然后随意添加文字内容,然后在git bash切换到test目录,执行git add readme.txt, git commit -m"新增readme文件", git push -u origin master,就看执行push以后是否成功就行了。

linux 命令如下:

git bash命令如下:

把用户添加到用户组【可不设置】
1.新建访问用户组: groupadd developer(创建developer用户组,你也可以改成其他的);
2.变更git仓库的所有人为developer用户组: chgrp -R developer /data/gitrepos/test, 这是修改权限给git用户组的。
3.添加用户到用户组: usermod -G developer zhangsan, usermod -G developer lisi

如果团队很小,把每个人的公钥收集起来放到服务器的authorized_keys文件里就是可行的。如果团队有几百号人,就没法这么玩了,这时,可以用Gitosis来管理公钥。

转载于:https://www.cnblogs.com/-mrl/p/11050860.html

centos 搭建git服务器相关推荐

  1. CentOS 搭建 Git 服务器

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

  2. CentOS搭建Git服务器

    安装git yum install -y git 创建git用户 adduser git 初始化git仓库 git init --bare learngit.git 设置仓库所有者 chown -R ...

  3. CentOs上搭建git服务器

    CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...

  4. CentOS下搭建Git服务器Gitosis

    说明:由于条件有限,我这里使用的是同一台centos的,但教程内容基本上通用. 1.编译安装git git安装教程:http://blog.haohtml.com/archives/10093 2.安 ...

  5. centos7 下搭建git服务器

    总的来说,搭建git和svn形式差不多 1.首先要在服务器安装git环境,创建用户密码和仓库等 2.然后个人主机(基本是window)安装git客户端 3.将个人主机客户端的秘钥写到git服务器的一个 ...

  6. ngrok linux开机自启动,CentOS 搭建ngrok服务器

    原标题:CentOS 搭建ngrok服务器 1一.前提条件 1. 准备好一台主机,带公网IP 2. 准备一个一级域名,做好泛解析(二级域名的没有配置成功,汗...) 切记 一定要做好域名泛解析 二.安 ...

  7. CentOS7搭建Git服务器

    CentOS7搭建Git服务器 文章目录 CentOS7搭建Git服务器 前言 搭建步骤 参考链接 前言 现有一台操作系统为CentOS 7的服务器,要将其作为代码库服务器使用,要求使用Git进行代码 ...

  8. 腾讯云实验之搭建 GIT 服务器教程

    搭建 GIT 服务器教程 image.png 下载安装 git 任务时间:5min ~ 10min Git 是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 此实验以 Ce ...

  9. git ssh配置文件 服务器_Linux 环境 搭建Git 服务器,并且修改SSH端口使用

    1.环境配置说明 服务器 CentOS 7 + git(git version 1.8.3.1) 客户端 Windows10 + SourceTree 2.安装 Git 服务器端安装: sudo yu ...

最新文章

  1. 窗帘效果图css,vuejs、微信小程序窗帘效果
  2. CSS中的BFC机制
  3. VTK:相互作用之EllipticalButton
  4. java发生fullgc的时机_2021-01-02:java中,MinorGC、MajorGC、FullGC 什么时候发生?
  5. 用python做自动化测试仪器_使用python进行windows自动化测试(1)
  6. django准备 —环境配置,及其虚拟环境安装、django安装、数据库安装、新建项目...
  7. 计算机前端学哪些好学,Web前端能干什么工作,好学吗
  8. win10下装win7双系统_电脑安装双系统win7+win10,安装顺序不同,使用会有什么不同?...
  9. Flutter报错 Navigator operation requested with a context that does not include a Navigator.
  10. 微信小程序下拉刷新上拉加载
  11. 计算机桌面弹窗,网站弹窗广告:教你4种方法,永久关闭电脑弹窗广告,还你一个干净的桌面 _ 惠州SEO...
  12. 阿里云 CentOS7.9 搭建 Hexo 个人博客教程
  13. 矩阵正定 matlab,MatLab的:CHOL矩阵必须是正定
  14. github网站扩展增强
  15. 2022年国庆红旗头像制作微信小程序源码
  16. 十年•杭研大咖说 | 邱似峰:从应届生到网易视频云CTO的蜕变
  17. RISC-V指令集架构------RV32F/RV32D浮点扩展指令集
  18. 总结运用kali破解WIFI密码的多种方法
  19. 为什么 MySQL 执行完 Delete 操作之后,空间没有释放?
  20. yii2 分析 basic\vendor\yiisoft\yii2-gii

热门文章

  1. Java学习之Iterator(迭代器)的一般用法(转)
  2. struts2 表单验证
  3. [React Native] 解析JSON文件
  4. Table 'mysql.plugin' doesn't exist引发de血案
  5. openstack icehouse版本glance上传镜像
  6. sed/awk与unix命令等价代码[转]
  7. VC++,掀起你的盖头来
  8. docsify and awesome
  9. 不要把时间画在抽奖上。。。去学习吧。。。
  10. 管理经验之没有必要的消费:空白卡片