git的CentOS服务端安装和windows客户端的使用

此教程以 搬瓦工vps CentOS 6 x64 的系统为环境,搭建 git 服务端。windows 7 系统为客户端。

git客户端

在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项下一步下一步安装即可.

安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

安装完成后,设置用户名称和用户游戏,在Git Bash命令行输入:

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

接下来如果连接远程仓储的就需要每次输入密码。这里我们使用无密码的ssh方式。

创建SSH Key

windows下SSH Key保存的位置一般为 C:\Users\Administrator\.ssh 这个位置。如果没有.ssh目录和id_rsaid_rsa.pub这两个文件,就需要创建SSH Key。

$ ssh-keygen -t rsa -C "youremail@example.com"

git的一些其他操作这里就说了。

git的CentOS服务端安装

我的使用工具是xhell来链接服务器操作

安装依赖库和编译工具

为了后续安装能正常进行,我们先来安装一些相关依赖库和编译工具

由于我的服务器是新购的所有我要安装一些常用工具

  1. 安装文本编辑器

    yum install vim

  2. 自动下载工具

    yum install wget

  3. 安装git依赖库和编译工具

    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

  4. 安装编译工具

    yum install gcc perl-ExtUtils-MakeMaker

下载 git

  1. 选一个目录,用来放下载下来的安装包,这里将安装包放在 /usr/local/src 目录里

    cd /usr/local/src

  2. 到官网找一个新版稳定的源码包下载到 /usr/local/src 文件夹里

    wget https://www.kernel.org/pub/software/scm/git/git-2.10.0.tar.gz

解压和编译

  1. 解压下载的源码包

    tar -zvxf git-2.10.0.tar.gz

  2. 解压后进入 git-2.10.0 文件夹

    cd git-2.10.0

  3. 执行编译

    make all prefix=/usr/local/git

这一步执行的时间较长

  1. 编译完成后, 安装到 /usr/local/git 目录下

    make install prefix=/usr/local/git

配置环境变量

  1. 将 git 目录加入 PATH

    将原来的 PATH 指向目录修改为现在的目录

    echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc

  2. 生效环境变量

    source /etc/bashrc

  3. 此时我们能查看 git 版本号,说明我们已经安装成功了。

    git --version

创建 git 账号密码

  1. 为我们刚刚搭建好的 git 创建一个账号

    useradd -m git

  2. 然后为这个账号设置密码

    passwd git

控制台输入创建密码后,输入您自定义的密码,并二次确认。

设置authorized_keys

  1. 创建.ssh目录
cd /home/git
mkdir .ssh
  1. 创建authorized_keys文件
cd .ssh
touch authorized_keys
  1. 利用vim复制客户端公钥到authorized_keys里面

    vim authorized_keys

    然后切换到windows(客户端)系统中把C:\Users\Administrator\.ssh\ 利用文本编辑器打开id_rsa.pub文件。 把里面的内容复制。

    然后粘帖到authorized_keys文件中。如何利用vim编辑器这里自己百度下

设置sshd_config配置

  1. 打开并编辑sshd_config

    vim /etc/ssh/sshd_config

找到下面的3个配置,把前面的#号去掉,并且设置AuthorizedKeysFile文件的路径为/home/git/.ssh/authorized_keys 保存退出即可

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile /home/git/.ssh/authorized_keys

创建 git 仓库并初始化

  1. 创建git仓库
cd /home/git
mkdir project.git
  1. 初始化git仓库

    git init --bare project.git

配置用户权限

  1. 给 git 仓库目录设置用户和用户组并设置权限
chown -R git:git /home/git
chmod 700 /home/git
  1. 给 ssh 目录和authorized_keys文件设置权限
cd /home/git/.ssh
chmod 600 authorized_keys
cd ../
chmod 700 -R .ssh
  1. 最后安全目的, 限制 git 账号的 ssh 连接只能是登录 git-shell

    vim /etc/passwd

替换最后一行为git:x:1001:1001:,,,:/home/git:/usr/local/git/bin/git-shell

如果按照刚才的步骤执行, 这个位置应该是 /usr/local/git/bin/git-shell, 否则请通过 which git-shell 命令查看位置

克隆你的仓库

切换到windows客户端,进入文件夹中,右击git Bash在命令行中输入你需要的clone地址

git clone git@<您的 git服务器IP 地址>:/home/git/project.git

或者

git clone ssh://git@<您的 git服务器IP 地址>:/home/git/project.git

git的CentOS服务端安装和windows客户端的使用的更多相关文章

  1. centos 7 上zabbix 3.0 服务端安装

    zabbix服务端安装 安装完毕mysql-5.6.php5.6 mysql-5.6安装:https://www.cnblogs.com/xzlive/p/9771642.html  创建zabbix ...

  2. 开源入侵检测系统OSSEC搭建之一:服务端安装

    OSSEC是一款开源的多平台的入侵检测系统,可以运行于Windows, Linux, OpenBSD/FreeBSD, 以及 MacOS等操作系统中.主要功能有日志分析.完整性检查.rootkit检测 ...

  3. 03-openldap服务端安装配置

    openldap服务端安装配置 阅读目录 基础环境准备 安装openldap服务端 初始化openldap配置 启动OpenLDAP 重新生成配置文件信息 规划OpenLDAP目录树组织架构 使用GU ...

  4. 运用Zabbix实现内网服务器状态及局域网状况监控(3) —— Zabbix服务端安装

    1. Zabbix服务端安装,基于LNMP PHP5.5+Nginx1.9安装配置:http://www.cnblogs.com/vurtne-lu/p/7707536.html MySQL5.5编译 ...

  5. mongodb_服务端安装及连接

    安装环境:Windows7  64位    附件内容: 1.mongodb Windows7 补丁:451413_intl_x64_zip.exe 2.mongodb Windows 安装程序:mon ...

  6. windows10 64位 安装mysql服务端 并使用navicat客户端链接 掉的一堆坑

    1.目的 安装mysql服务端 并使用navicat客户端链接 2.过程 1)下载mysql服务端 下载过程(参考https://blog.csdn.net/youxianzide/article/d ...

  7. svn服务端安装、权限修改以及客户端的使用

    2017-10-1016:10:2 svn服务端安装.权限修改以及客户端的使用 svn服务端.客户端.汉化包下载 http://pan.baidu.com/s/1c1Ogj2C 1.安装服务器端程序( ...

  8. ssr 服务端安装教程

    1 ShadowsocksR 多用户版服务端安装教程(SS-Panel后端) 2 ShadowsocksR 单用户版服务端安装教程

  9. Zabbix 3.4 服务端安装部署

    关于zabbix的安装部署官方也提供了详细的安装文档,链接如下: https://www.zabbix.com/download 选择zabbix的版本,服务器平台及使用的数据库 安装和配置zabbi ...

随机推荐

  1. Yii2之行为

    Yii三大特性:属性.事件.行为.前面两篇文章已经分别讲解了属性和事件,本文接着讲讲yii的行为,分析yii行为的实现原理. 在yii中,一个对象绑定了行为之后,就拥有了所绑定行为拥有的所有事件,而且 ...

  2. iOS初学,关于变量加下划线问题

    为什么做ios开发,变量前要加下划线才有用? 看到这个哥们的解释后,终于明白了,转帖到此. 链接在此:http://www.cocoachina.com/bbs/read.php?tid=234290 ...

  3. 使用css3实现瀑布流布局效果

    使用CSS3可以轻松实现瀑布流布局,但这种方法有个缺点,就是对于商城类型的网站,价格筛选时,并不能达到理想效果. 1.column-count 把div中的文本分为多少列 2.column-width ...

  4. javascript高性能写法

    看到一篇不错的博文,如果想写出比较高性能的代码,可参看这个链接http://developer.51cto.com/art/200906/131335.htm

  5. 用python爬取微博数据并生成词云

    很早之前写过一篇怎么利用微博数据制作词云图片出来,之前的写得不完整,而且只能使用自己的数据,现在重新整理了一下,任何的微博数据都可以制作出来,放在今天应该比较应景. 一年一度的虐汪节,是继续蹲在角落默 ...

  6. 数据分析基础之Linalg的使用

    Linear algebra 简介 When SciPy is built using the optimized ATLAS LAPACK and BLAS libraries, it has ve ...

  7. 用js判断是否为手机浏览,如果是手机浏览就跳转到手机站

    <script type="text/javascript"> function browserRedirect() { var sUserAgent= navigat ...

  8. Android 开发笔记___SQLite__优化记住密码功能

    package com.example.alimjan.hello_world; /** * Created by alimjan on 7/4/2017. */ import com.example ...

  9. mouseover事件mouseenter事件

    1. mouseover:会在鼠标进入该元素或者该元素的子元素时触发 mouseenter:只在鼠标进入该元素时触发 mouseout:在鼠标移出该元素或则该元素的子元素时触发 mouseleave: ...

  10. 请求返回时的Size/Content Time/Latency的区别

    Size/Content: Size是响应头部和响应体结合起来的大小,Content是请求内容解码后的大小.进一步了解可以看这里Chrome Dev Tools - “Size” vs “Conten ...