笔记-git-git服务器安装及配置
笔记-git-git服务器安装及配置
1. GIT服务器简介
Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。下面分别介绍一下哪些情形应该使用(或避免使用)这些协议。
值得注意的是,除了 HTTP 协议外,其他所有协议都要求在服务器端安装并运行 Git
1. 本地
克隆一个本地版本库,可以执行如下的命令:
$ git clone /opt/git/project.git
或你可以执行这个命令:
$ git clone file:///opt/git/project.git
要增加一个本地版本库到现有的 Git 项目,可以执行如下的命令:
$ git remote add local_proj /opt/git/project.git
2. SSH
通过 SSH 协议克隆版本库,你可以指定一个 ssh:// 的 URL:
$ git clone ssh://user@server/project.git
或者使用一个简短的 scp 式的写法:
$ git clone user@server:project.gitct.git
3. GIT
GIT协议无安全控制,一般不用。
2. 服务器安装及配置
2.1. 安装
使用包,yum等工具都可以,自行编译也OK。
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
yum install git
根据环境不同,可能需要的依赖包也不同,安装git完成。
2.2. 简单配置及开始
初始化服务器端仓库:
git init –bare sample.git
此时,其他通过 SSH 连接这台服务器并拥有权限的使用者就可以克隆你的仓库。
$ git clone user@ip:/opt/git/my_project.git
如果一个用户,通过使用 SSH 连接到一个服务器,并且其对 /opt/git/my_project.git 目录拥有可写权限,那么他将自动拥有推送权限。
如果到该项目目录中运行 git init 命令,并加上 --shared 选项,那么 Git 会自动修改该仓库目录的组权限为可写。
$ ssh user@git.example.com
$ cd /opt/git/my_project.git
$ git init --bare –shared
至此,最简单的git服务器端已搭建完成,可以连接它并推送了。
2.3. 连接服务器
常用方法是让每个需要写权限的人提供SSH公钥,将其加入git账户的 ~/.ssh/authorized_keys 文件。 这样,所有人都将通过git账户访问主机。
2.3.1. 配置服务器登录验证
使用 authorized_keys 方法来对用户进行认证:
首先,创建一个操作系统用户 git,并为其建立一个 .ssh 目录。
将公钥加入系统用户 git 的 .ssh/authorized_keys 文件的末尾:
$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys
在其它用户比如root下也可以这样做,不过建议建立单独的git用户。
2.3.2. 生成SSH公钥
在linux下使用ssh-keygen生成密钥,文件存放于~/.ssh目录下,文件名为id_rsa,后缀为.pub是公钥,另一个是私钥;
windows下文件位于用户目录/.ssh/。
2.4. 实验案例
服务器端:
git init –bare python_usual.git
client:
#在已有仓库下连接并推送,公钥已配置
git remote add 130 root@ip:/home/git/python_usual.git
git push 130
输出:
Enumerating objects: 11, done.
Counting objects: 100% (11/11), done.
Delta compression using up to 4 threads
Compressing objects: 100% (8/8), done.
Writing objects: 100% (11/11), 3.02 KiB | 343.00 KiB/s, done.
Total 11 (delta 0), reused 0 (delta 0)
To 192.168.199.130:/home/git/python_usual.git
* [new branch] master -> master
server验证:
cd /home/git/python_usual.git
git log
输出:
commit 9b37ad45c0ce78a2c7ecd8e109bc7282d87e24db
Author:name<…>
…………………
验证推送成功。
笔记-git-git服务器安装及配置的更多相关文章
- Git 笔记二-Git安装与初始配置
git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...
- [转载]Ubuntu下Git服务器安装与配置
原文地址:Ubuntu下Git服务器安装与配置作者:F民抄 1. 安装 1.1 安装Git-Core: sudo apt-get install git-core 1.2 安装 Gitosis sud ...
- 【学习笔记】Git的日常使用
Note:本笔记是我学习廖雪峰老师的Git教程整理得到,在此向廖老师的无私付出表示衷心的感谢! 0.Git的历史 Git是一个分布式的版本控制系统(C语言编写,一开始为Linux社区服务,替代BitK ...
- Git 笔记三 Git的初步使用
Git 笔记三 Git的初步使用 在上一篇中,学习了如何配置Git环境,这一篇,开始学习Git的初步使用.Git的初步使用还是很简单的.总体上知道git init, git clone, git ad ...
- jdk git maven Jenkins的配置
前言 搭建Jenkins的笔记. JDK 1. jdk 下载地址 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-down ...
- 【经验之谈】Git使用之TortoiseGit配置VS详解
前言 上一篇<[经验之谈]Git使用之Windows环境下配置>: 安装 配置和使用 后记 关于vs中使用git网上的教程大家也可以找到,我当时配置的时候也是按照网上找的教程一步一步来的, ...
- Git系列教程三 配置与基本命令
一.安装Git 网上有很多安装教程,可以参考.这里使用的是Windows版本的Git,点击这里下载. 二.基本设置 安装完成后,通过点击鼠标右键就可以看到新添加了俩个Git命令:Git GUI Her ...
- Git的.gitignore文件配置
.gitignore是Git工具的配置文件,用于屏蔽某些文件上传到线上. 创建.gitignore 在window系统中,不允许新建文件名以"."开头的文件,所以通过git bas ...
- Git服务器搭建及配置
一.部署环境 Server操作系统:CentOS release 6.7 (Final) 内核版本:2.6.32-358.el6.x86_64 git版本:1.9.0,源码下载地址如下 https:/ ...
随机推荐
- sass文件转css时注释虽然支持中文,但是出现乱码的解决方法
sass文件转css时注释虽然支持中文,但是出现乱码的解决方法 Scss 注释中文报错问题(windows系统, 已解决)找到ruby的安装目录,里面也有sass模块,类似这样样的路径:F:\Prog ...
- Sharepoint 2013企业内容管理学习笔记(二) 全自动化内容管理
全自动化内容管理 所谓全自动化内容管理啊,其实对于用户来说,就更简单便捷有爱了,用户只需要把文件上传到部门网站的放置库中,文件就会快速自动躺到企业记录中心的某个归档记录库了,怎么样,很方便,有没有,很 ...
- 用户管理的设计--3.jquery的ajax实现二级联动
页面效果 实现步骤 1.引入struts整合json的插件包 2.页面使用jquery的ajax调用二级联动的js //ajax的二级联动,使用选择的所属单位,查询该所属单位下对应的单位名称列表 fu ...
- ES6相关特性(解构赋值)
解构赋值:本质上是一种匹配模式,等号两边的模式相同,则左边的变量可以被赋予对应的值. 注意:null & undefined 不能解构赋值!!! 数组的解构赋值: let [a,[[b],c] ...
- anaconda和jupyter notebook使用方法
查看安装的conda版本 conda --version 如果没有安装anaconda,可以从以下链接下载anaconda或者miniconda,两者安装一个就可以了 miniconda大约50M h ...
- graphql 后台服务项目架构(一)
基础知识 简而言之,GraphQL 是一种描述如何请求数据的语法,通常用于客户端向服务器请求数据.GraphQL 有三个主要特点: 允许客户端精确指定所需数据. 可以更容易地从多个数据源聚合数据. 使 ...
- C++ POD类型
POD( Plain Old Data)概念: Arithmetic types (3.9.1), enumeration types, pointer types, and pointer to m ...
- 分治——sqtx
题目描述 Given a string s, partition s such that every substring of the partition is a palindrome. Retur ...
- NOIP2018学军中学游记(11.09~11.11)
前言 这篇博客记录的是我在\(NOIP2018\)提高组比赛中的经历. 这一次的\(NOIP\)是在学军中学举办的, 莫名感到一阵慌张. 但愿能有一个好成绩,不然就要\(AFO\)了... ... 说 ...
- Linux 初学者:移动文件
你学习了有关目录和访问目录的权限是如何工作的.你在这些文章中学习的大多数内容都可应用于文件 -- Paul Brown 在之前的该系列的部分中, 你学习了有关目录 和 访问目录 的权限 是如何工作的. ...