1搭建本地git服务器

1.1安装git

对于ubuntu系统,一般自带git,可以使用git --version 查看版本号 ,或使用apt-get install git  。

centos上对于新版本的git安装麻烦一点(centos7.2允许最新的git版本是1.8.3  ,要 安装大于这个版本的,就要通过编译安装)

    先卸载低版本git ,    yum remove git

    安装依赖包

      •     yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
      •     yum install gcc perl-ExtUtils-MakeMaker
      •     yum install xmlto

    将出现提示:make[1]: Leaving directory `/usr/local/src/git-2.9.2/Documentation'

    下载git安装包

    配置环境

      •     echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
      •     source /etc/bashrc

    查看版本号

    git --version

1.2在服务器端创建git 用户,用来管理git服务

  cd /home

  id git                    查看git用户是否存在,返回no such user ,表示用户git不存在

  useradd git          创建git用户及密码

  passwd git

  按提示填完信息后,git 用户就创建完成

1.3在服务器端创建git仓库

  mkdir -p /home/git/repository/gittest.git           同创建普通文件夹的命令一样,-p表示上级目录不存在则逐层创建

  git init --bare ./gittest.git                                    初始化git项目目录

  chown -R git:git repository                                   将repository的拥有着改为git:git ,   -R表示更改权限的操作也将应用于该文件夹的子孙文件夹及文件。

2客户端使用git

  先安装git, linux同上,windows的下载git的window版本即可。

2.1在命令行中配置git初始化信息(window上可右键选择git bash )

  git config --global user.name "Your name"                    这些用户名与email地址,git不会去验证,只是用作区分不同的用户而已

  git congfig --global user.email "Your email"

  

2.2本地关联远程git仓库

  现在可以直接克隆服务器上的git 仓库:  git clone git@服务器公网ip:服务器上创建的git仓库的绝对路径

    如 git clone git@120.32.136.3:/home/git/repository/gittest.git

  也可将本地已有的项目,关联到远程服务器仓库地址: git remote add origin git@120.32.136.3:/home/git/repository/gittest.git,

    然后将本地分支推送上去作为初始节点     git push --force --set-upstream origin master

首次连接远程git服务器时会有一个提示

  • The authenticity of host '118.178.142.77 (118.178.142.77)' can't be established.
  • ECDSA key fingerprint is SHA256:JwC9NxLIjBGqtLC2NUk8MulSc3XH3mM5AWMcFz0a5/8.
  • Are you sure you want to continue connecting (yes/no)? yes
  • 选择 yes :
  • Warning: Permanently added '118.178.142.77' (ECDSA) to the list of known hosts.
  • 此时 c:\Users\用户名\.ssh 下会多出一个文件 know_hosts ,以后在这台电脑上再次连接目标 git服务器时不会再有提示了

3使用ssh密钥 ,简化登陆git服务器

3.1在客户端生成密钥

  linux :     ssh-keygen -t rsa -C "myeamil@address.com"             (先查看目录下是否先存在同名密钥文件)将在~/.ssh目录下生成id_rsa 和id_rsa.pub

  windows  git bash : ssh-keygen -t rsa -C "myeamil@address.com"              windows上生成的密钥地址将在 C:\Users\用户名\.ssh下

3.2在服务器端ssh认证配置

  vi /etc/ssh/sshd_config  ,

    去掉下面三行的注释

      •     RSAAuthentication yes
      •     PubkeyAuthentication yes
      •     AuthorizedKeysFile .ssh/authorized_keys

    保存并重启sshd服务  service sshd restart     ,最后一行表示的是公钥的存放路径 ,

  更改文件的权限 :

    cd /home/git

    chmod 700 .ssh

    cd .ssh/

    chmod 600 authorized_keys

  禁用git用户使用ssh登陆到服务器

    vim /etc/passwd

    将git:x:1001:1001::/home/git:/bin/bash改为 git:x:1001:1001::/home/git:/bin/git-shell

    这样git用户可以通过ssh使用git ,但无法通过ssh登陆系统

  

3.3导入客户端的公钥到服务器 :

   在git的home目录下创建目录.ssh ,将客户端生成的公钥复制到服务器端的/home/git/.ssh/authorized_keys文件中 : git bash 中使用命令 :

  ssh git@服务器公网IP网址  ‘cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa_git.pub

  后面添加公钥可以直接编辑 /home/git/.ssh/authorized_keys ,将公钥复制到下一行

  

git 的安装与初始化的更多相关文章

  1. Git学习笔记---安装与初始化 连接远程版本库

    1.Git的安装 sudo apt-get install git 用的是linux(ubuntu)系统,安装非常简单,上面一条命令就够了. 2.初次运行的配置 Git 提供了一个叫做 git con ...

  2. Git——快速安装Git及初始化配置【二】

    文档 https://git-scm.com/book/zh/v2 下载 mac https://git-scm.com/download/mac Linux https://git-scm.com/ ...

  3. git安装与初始化

    命令行 Git有多重方式使用 原生命令行,才能使用git所有命令,会git命令再去用gui图形工具,完全无压力 GUI图形软件,只是实现了git的部分功能,以减免操作难度,难以记住git原生命令 不同 ...

  4. Ubuntu下git的安装与使用

    Ubuntu下git的安装与使用 Ubuntu下git的安装与使用与Windows下的大致相同,只不过个人感觉在Ubuntu下使用git更方便. 首先,确认你的系统是否已安装git,可以通过git指令 ...

  5. Mac上git的安装配置与使用简述

    Mac下git搭建及使用 之前就只是经常在GitHubs上下载代码,也没注意怎么上传项目.一开始对git都没什么了解花了几个小时去小补了下知识.如果有需要可以转去这里学习:[GIT使用简易指南] (h ...

  6. window下版本控制工具Git 客户端安装

    安装使用 1.下载msysgit http://code.google.com/p/msysgit/ 2.下载tortoisegit客户端安装 http://code.google.com/p/tor ...

  7. 【转载】Git的安装与使用

    Git的安装与使用  转载来源:http://www.cnblogs.com/Bonker/p/3441781.html 1,下载git https://code.google.com/p/msysg ...

  8. Git配置安装使用教程操作github上传克隆数据

    Git是何方神圣? Git是用C语言开发的分布版本控制系统.版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态).另一个状态可以是不同的文件,也可以是不同的文件内容 ...

  9. 版本管理工具Git(2)git的安装及使用

    下载安装git 官方下载地址:https://git-scm.com/download/win 这里以windows为例,选择正确的版本: 验证是否安装成功,右键菜单中会出现如下菜单: Git工作流程 ...

随机推荐

  1. HTML DOM submit() 方法

    HTML DOM submit() 方法 HTML DOM Form 对象 定义和用法 submit() 方法把表单数据提交到 Web 服务器. 语法 formObject.submit() 说明 该 ...

  2. 利用JS模拟排队系统

    我爱撸码,撸码使我感到快乐!大家好,我是Counter.今天给大家分享的是js模拟排队系统,刚开始有排队序列,序列里有vip用户和普通用户,vip用户永远位于普通用户的前面,只有当当前vip用户都办理 ...

  3. Bootstrap3基础 栅格系统 标尺(col-lg/md/sm/xs-1)

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  4. 彻底清除 Windows 服务

    如果服务已经停止, 或从注册表中删除, 但是在任务管理器中仍能看到服务躺在列表里面. 只需要找到服务的PID, 然后运行命令: taskkill /PID 服务的PID /f 即可.

  5. Python游戏编程入门

    <Python游戏编程入门>这些文章负责整理在这本书中的知识点.注意事项和课后习题的尝试实现.并且对每一个章节给出的最终实例进行分析和注释. 初识pygame:pie游戏pygame游戏库 ...

  6. 比原链(Bytom)先知节点 Ubuntu接入文档

    系统要求 我们建议选择知名的VPS服务商,运行比原链节点对算力没有要求,但是请配置尽可能大的磁盘空间. 节点服务器最小配置: 操作系统: Windows/Linux/Docker CPU: 2核 内存 ...

  7. [php] 添加接口访问日志(文件)

    日志参数: 请求参数,请求地址,响应结果 步骤: 1. 定义日志目录,没有的需要创建 2. 定义日志名称 3. 以追加的形式写入日志文件  FILE_APPEND public function ad ...

  8. 剑指offer 06:旋转数组的最小数字

    题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转 ...

  9. 也谈开源GIS架构实现思想

    针对业务发展需要,需要开发设计一套具备自己独立GIS平台.然而以ArcGIS为主的GIS软件价格昂贵,在经过仔细技术与市场动向调研后,确立一套以Java语言的开源GIS软件平台.桌面CS端Udig+G ...

  10. 第一章 Java语言概述1

    1.人机交互有两种方法:一种是图形化界面,一种是命令行方式 2.如何打开命令行:开始-在运行命令行中输入cmd 3.常用的DOS命令: dir(directory):列出当前目录下文件及文件夹 md( ...