git分布式的理解----简单服务端搭建

  Git是分布式的,并没有服务端跟客户端之分,所谓的服务端安装的其实也是git。Git支持四种协议,file,ssh,git,http。ssh是使用较多的,下面使用ssh搭建一个免密码登录的服务端。

  1、提前安装git跟sshserver;

  2、 创建一个用户,用来运行git服务;

  新建一个用户,叫gituser,然后切换到gituser的默认目录,创建一个叫.ssh的文件夹,并在其中创建一个叫authorized_keys的文件,这个文件将用于存储git开发者的ssh公钥。

  

  3、建立一个git仓库;

  切换到gituser默认目录,建立一个testgit文件夹,在其中创建一个用于测试的git项目并进行初始化。

  

  创建一个aaa.txt,内容随便填写,将该文件纳入git管理

  

  4、创建证书

  切换到git开发者电脑。设置本地git用户并创建公钥和私钥

  

  Windows系统,在用户主目录下有id_rsa.pub跟id_rsa两个文件:

  

  

  这两个就是一对秘钥,id_rsa是私钥,id_rsa.pub是公钥。

  5、添加公钥到ssh  

  将本地生成的id_rsa.pub的内容追加到git服务器gituser用户的~/.ssh/authorized_keys文件中。注意,不是把authorized_keys建成文件夹,把公钥扔进去,是追加文件内容。

  特别要注意:.ssh的权限必须是700,authorized_keys文件的权限必须是600,否则公钥无法生效。

  6、修改ssh服务端配置

  vi /etc/ssh/sshd_config

  

  7、从服务端clone项目

  在开发者电脑端,执行以下命令:

  

  可以看到我们成功把“服务器”上的git项目clone到了本地。

  ------------------------------------------------------------------------------------------------------------

  其实,上面的操作有些繁琐:在“服务端”建一个git项目,然后初始化,然后建一个可以免密码登录的用户,然后用这个账号把git项目拷贝了下来;简单来说,我不免密码登录,也可以git clone那个项目,比如我用root用户:

  

  也就是说,只要“服务端”有git项目,有一个可以远程登录的ssh用户,我们就可以直接git clone 那个项目,这个时候,“服务端”跟“客户端”都只要git,没有所谓的gitlab等服务端软件,两者之间只是通过ssh通信就可以实现git的clone,commit等操作,两者地位是平等的。

  可见git的确是无中心的分布式的。而github,gitlab之类的“服务端”其实是一个帮助我们管理用户跟git通信方式的工具,在这一点上,gitlab跟visualsvn-server之类的软件有本质的区别。

  ------------------------------------------------------------------------------------------------------------

时间: 2024-10-13 02:16:25

git分布式的理解----简单服务端搭建的相关文章

GIT Windows服务端搭建笔记

GIT Windows服务端搭建笔记 所需软件: GIT服务端: Bonobo Git Server,下载最新版 https://bonobogitserver.com/ 一:配置服务端(基于Windows10+Bonobo Git Server6.3) 打开IIS功能.控制面板->程序->启用或关闭Windows功能,勾选Internet Information Services的选项. 下载好Bonobo Git Server,是一个zip压缩包,是用ASP.NET  MVC开发的网站.

yum仓库服务端搭建、客户端使用

yum源工作原理:实质是更换下载地址 ********  yum仓库服务端搭建  ******** 系统环境 服务端:10.0.0.61 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.8 (Final) [[email protected] ~]# uname -r 2.6.32-642.el6.x86_64 1.安装createrepo软件: yum -y install createrepo 2.创建yum仓库

Android-搭建简单服务端+ListView异步加载数据

Android-搭建简单服务端+ListView异步加载数据 2014年5月6日 本篇博文带给大家的是教大家如何在MyEclipse中搭建一个服务端,并通过手机端与其通信,异步加载数据. 笔者使用的是MyEclipse,各位也可以直接用Eclipse创建Java Web项目,谷歌提供的ADT Bundle是不能创建Web项目,读者可以下载Eclipse For JaveEE Developer这个IDE. 下面来介绍如何在MyEclipse创建一个Web项目,并部署到Tomcat当中,关于Tom

Web Service学习之服务端搭建与客户端调用

?工作中用到了Web Service,但是对这块不是很熟悉,决定花时间学习一下,现在记录一下最基本的入门知识点. 使用Java搭建Web Service服务端,使用Python脚本调用接口. 一.Web Service服务端 1.在Eclipse中新建一个Java工程,新建test.TestWebService类 package test; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public 

git 在linux下服务端搭建

本文以centos为例,其他linux请自行参照对应方式. 1. 服务端安装git yum install git 2. 服务端添加无shell登录权限的用户,将username替换为要添加的用户 useradd -s /sbin/nologin username 3. 初始化仓库 git init --bare sample.git 4. 在客户端,也就是gitbash(windows用户)生成密钥和公钥,邮箱地址改为你自己的,当然后面的两个 -t  和 -C 参数可以不要. ssh-keyg

git服务端搭建与使用

打开cmd,输入ssh [email protected](为本机ip) 输入git如显示git帮助贼表示ssh和git安装成功(如下图) 2.使用 a.git命令行使用(只介绍一点基本使用如过有别的需求,请阅读progit中文文档,我的资源里有) a.1服务端加入项目 随便考一个项目到C:\ICW\var目录下(本人项目为zzjzmdx) cmd命令行 进入项目 执行如下命令 git initgit add .git config --global user.name "zzjzmdx&quo

CAS单点登录学习(一):服务端搭建

下载先在网上下载cas-server-3.5.2,将里面的cas-server-webapp-3.5.2.war放到tomcat的webapps目录下. https设置cas单点登默认使用的是https,所以需要证书,由于是个人测试和学习用的,可以用JDK自带的keytool工具生成证书.2.1 用JDK生成证书:方便复制:keytool -genkey -alias mykey -keypass 123456 -keyalg RSA -validity 365 -keystore E:/cas

linux svn 服务端搭建

环境是centos6.x. 关于团队对代码管理,相信大部分人习惯于svn.不过我个人比较喜欢git的.这个blog git 常用命令 就是介绍git的基本用法.现部署svn服务端方式如下: 1. 用yum安装如下: yum install subversion2. 输入 svn --help可以查看svn的使用方法. usage: svn <subcommand> [options] [args] Subversion command-line client, version 1.6.11.

本地yum仓库服务端搭建

yum服务端设置 1.1 安装createrepo软件 yum -y install createrepo 1.2 创建yum仓库目录 mkdir -p /application/yum/centos6/x86_64/ 补充: 获取rpm软件包的几种方法 (1) 自己制作的rpm包 (2) yumdownloader pcre-devel openssl-devel 只下载不安装 (3) 平时yum安装软件时不删除安装包 vim /etc/yum.conf里的keepcache=0,改成keep