我这里用的是redhat7.4, 直接开始吧.

环境

服务端: Redhat7.4 + git(version 1.8.3.1) IP:192.168.137.168
客户端: win7 + git (version 2.19.1)

Git

server:

[root@localhost gittest.git]# git --version
git version 1.8.3.1

我这里是有的, 没有的话

yum install git -y

client:

官网地址: https://git-for-windows.github.io/

服务器操作

  • 新建git用户与赋予密码
useradd git
passwd git

注:这里的密码我用1234

  • 为服务器创建一个git用的文件夹(git仓库)
mkdir /usr/local/gittest.git

注:这个目录可以随便建(项目在哪就放哪), 只要后面授权给git用户管理就行

  • 初始化
git init --bare /usr/local/gittest.git
  • 授权
chown -R git:git /usr/local/gittest.git

注:这个就很简单了,在/usr/local/gittest.git下会看到生成了目录

客户端操作

注:这一波用的不是powershell或者cmd, 确定客户端的git已安装.

  • 简介

  • 新建目录
hp@hp-PC MINGW64 /d/wamp64
$ mkdir gittest_gitbash hp@hp-PC MINGW64 /d/wamp64
$ ls
gittest/ gittest_gitbash/ www/
c
hp@hp-PC MINGW64 /d/wamp64
$ cd gittest_gitbash/
hp@hp-PC MINGW64 /d/wamp64/gittest_gitbash
$ pwd
/d/wamp64/gittest_gitbash
  • clone项目
git clone git@192.168.137.168:/usr/local/gittest.git

注:这个就很容易理解了, 将服务器上面的文件夹下的东西拉取到本地(就是这个目录下d:\wamp64\gittest_gitbash)

  • 自动弹出提示
The authenticity of host '192.168.137.168 (192.168.137.168)' can't be established.
RSA key fingerprint is SHA256:Ve6WV/SCA059EqoUOzbFoZdfmMh3B259nigfmvdadqQ.
Are you sure you want to continue connecting (yes/no)? yes

成功!

  • 发现
 此时会在本地C:\Users\用户名\.ssh 下生成文件 known_hosts
  • 创建公钥私钥
ssh-keygen -t rsa -C "邮箱"

注:此时C:\Users\用户名\.ssh 下会多出两个文件 id_rsa 和 id_rsa.pub

  • 服务器Git打开rsa认证
[root@localhost gittest.git]# cd /etc/ssh/
[root@localhost ssh]# ls
moduli sshd_config ssh_host_ecdsa_key.pub ssh_host_ed25519_key.pub ssh_host_rsa_key.pub
ssh_config ssh_host_ecdsa_key ssh_host_ed25519_key ssh_host_rsa_key
[root@localhost ssh]# vim sshd_config
  • 打开三个注释
RSAAuthentication yes
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys

  • 重启sshd
systemctl stop sshd.service
systemctl start sshd.service
  • 在git用户目录新建.ssh目录
mkdir /home/git/.ssh
  • 授权
chown -R git:git /home/git

  • 将客户端公钥上传到服务器端git用户目录.ssh
cd C:\Users\用户
ssh git@192.168.137.168 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

注:这里要切换到.ssh的上一级目录, 因为要将authorized_keys文件当前内容上传到服务器中

  • 再看一下服务器上面的目录

  • 客户端再次clone远程仓库
git clone git@192.168.137.168:/usr/local/gittest.git

结尾

  • 禁止git用户ssh登录
vim /etc/passwd

git:x:1004:1005::/home/git:/bin/bash
改为
git:x:1004:1005::/home/git:/bin/git-shell

  

Git服务器搭建完毕!

后续

  • 删除远程分支点
git remote remove origin

  • 新建远程分支点
origin 为远程仓库别名  后面http 为远程仓库地址
git remote add origin git@192.168.137.168:/home/git/data/git/learngit.git

  • 本地库提交到远程分支(上传)
git push <远程主机名> <本地分支名>:<远程分支名>
git push learngit master:origin

  • 本地分支拉取远程分支(下载)

linux下部署git服务器的更多相关文章

  1. 【转】在Linux下搭建Git服务器

    在 Linux 下搭建 Git 服务器 环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows. ...

  2. Linux下部署FTP服务器

    Linux下部署FTP服务器 下载安装包 在这里介绍的是离线部署FTP,首先下载对应的rpm包,下载链接为: 下载vsftpd服务 下载FTP客户端 安装ftp服务器 关闭防火墙 service ip ...

  3. Linux下搭建Git服务器

    1.安装Git 见 Jenkins持续集成环境部署 第四节 2.创建Git用户和用户组 groupadd git useradd git -g git 3.创建证书切换到git用户创建证书 su gi ...

  4. 在 Linux 下搭建 Git 服务器

    环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows.1) ① 安装 Git Linux 做为 ...

  5. 在Linux下搭建Git服务器的方法是什么样?

    第一步 安装git:可以通过命令的方式快速安装,不同的linux的安装方法可能不一样,我的是采用的yum方法.ubuntu可以用apt-get命令.sudo yum install git 第二步 添 ...

  6. 在 Linux 下搭建 Git 服务器(yum安装)

    服务端(linux): 1. 安装git [root@localhost ~]# yum -y install git 2. 增加一个git账户 为了管理的方便,在linux下面增添一个 " ...

  7. 在Linux下搭建Git服务器步骤

    环境: 服务器 CentOS6.6 + git(version 1.7.1) 客户端 Windows10 + git(version 2.8.4.windows.1)  ① 安装 Git Linux ...

  8. Linux 下搭建Git 服务器详细步骤

    参考: https://www.cnblogs.com/dee0912/p/5815267.html#_label0 https://blog.csdn.net/carfge/article/deta ...

  9. kali linux 下搭建git服务器

    参考:http://www.cnblogs.com/dee0912/p/5815267.html https://www.liaoxuefeng.com/wiki/001373951630592960 ...

随机推荐

  1. 初尝Web API《转》

    HTTP 并不是只能用在网页中.它其实还是一个强大的平台,可以用来生成一些API,暴露服务和数据.HTTP很简单灵活,还非常普及.几乎所有你能想到的平台都有HTTP库,所以HTTP服务可以囊括很大范围 ...

  2. Makefile中变量定义中末尾不能有空格

    我在Makefile中添加了 ifndef EMASSDIR EMASSDIR=$(shell emassTop.py)endif 但是emassTop.py)后面不小心加入了空格,造成出现“Make ...

  3. Windows jmeter配置

    JMeter是Apache软件基金会的产品,用于对提供静态的和动态的资源服务器性能的测试.是一款很方便的测试软件. JMeter 要依附Java SE 环境 所以在启用JMeter之前要安装JAVA ...

  4. mx:Label (标签)

    0. <mx:Label x="139.5" y="55" text="Hello,World!" width="125&q ...

  5. Python记录1:基础知识常识

    今日内容: 一,Python的数据类型 Python一共有以下几种常见的数据类型:int(整形)  float(浮点型)  str(字符串)  list(列表)   tuple元组  dict(字典) ...

  6. python中的IO操作

    python中的基本IO操作: 1) 键盘输入函数:raw_input(string),不作处理的显示,与返回. input(string),可以接受一个python表达式作为返回,python内部得 ...

  7. Vue系列之 => 自定义键盘修饰符

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Thinking-Bear magic (计算几何)

    ---- 点我 ---- 题目大意: 给你一个正n边形及边长 a和一个正整数L, 求正多边形的面积s,若s大于L,则连接相邻两边的中点,形成新的正多边形,重复这个操作直至s小于L:如图: 正多边形的面 ...

  9. hdu5029 树链剖分 + 线段树

      将树映射在线段上进行操作 然后每个 重链变成一个连续的区间 #include <iostream> #include <cstdio> #include <strin ...

  10. Mybatis分页插件pagehelper的使用

    加入依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pageh ...