博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux下部署git服务器
阅读量:6928 次
发布时间:2019-06-27

本文共 2510 字,大约阅读时间需要 8 分钟。

我这里用的是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 --versiongit version 1.8.3.1

我这里是有的, 没有的话

yum install git -y

client:

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

服务器操作

  • 新建git用户与赋予密码
useradd gitpasswd 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_gitbashhp@hp-PC MINGW64 /d/wamp64$ lsgittest/  gittest_gitbash/  www/chp@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]# lsmoduli      sshd_config         ssh_host_ecdsa_key.pub  ssh_host_ed25519_key.pub  ssh_host_rsa_key.pubssh_config  ssh_host_ecdsa_key  ssh_host_ed25519_key    ssh_host_rsa_key[root@localhost ssh]# vim sshd_config
  •  打开三个注释
RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys

  • 重启sshd
systemctl stop sshd.servicesystemctl 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

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

 

转载于:https://www.cnblogs.com/chenglee/p/9766898.html

你可能感兴趣的文章
node.js gulp 自动化构建工具
查看>>
要点提炼| 理解JVM之类加载机制
查看>>
Android NDK开发之旅11 JNI JNI数据类型与方法属性访问
查看>>
移动端H5页面注意事项
查看>>
不思考才是真正的危机
查看>>
MacbookPro使用小记
查看>>
基于 Gradle 的 Android gif 录屏脚本,录屏并自动上传至电脑,给常写博客的你~...
查看>>
MySQL5.7解压版安装
查看>>
告诉你 SQL 数据库与 NoSQL 数据库的区别
查看>>
一对好基友 - yii2行为和事件那些事 源码分析篇
查看>>
在 Java 中使用 redis 的消息队列服务
查看>>
5 分钟让你明白 “软链接” 和“硬链接”的区别
查看>>
Redux你的Angular 2应用--ngRx使用体验 | 掘金技术征文
查看>>
Angular 从 0 到 1 (四)史上最简单的 Angular 教程
查看>>
Volley源码解析
查看>>
数组去重
查看>>
深入理解e.target与e.currentTarget
查看>>
2018拼假指南
查看>>
8 - 博客文章详情页
查看>>
Redux 学习总结笔记
查看>>