Git服务器搭建

1. 环境部署

系统环境:服务器端:CentOS 6.5 ,ip:192.168.56.100 Master

客户端:CentOS 6.5 ,ip:192.168.56.101 Slave

软件版本:服务器端:源码编译安装,git-2.3.2.tar.gz

客户端:yum在线安装机制

2. 安装

2.1 服务器端:

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

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

#tar zxvf git-2.3.2.tar.gz

#cd git-2.3.2

#make prefix=/usr/local all

#make prefix=/usr/local install #root用户运行

查看版本号:git --version

git version 2.3.2

安装gitosis:gitosis为Git用户权限管理系统,通过管理服务端的/home/git/.ssh/authorized_key文件来执行对用户权限的管理,是一个python模块包

#yum install python python-setuptools

#git clone git://github.com/res0nat0r/gitosis.git

#cd gitosis/

#python setup.py install

*******************************************************************************************************************************************

yum install git

建立一个 Git用户
groupadd user
useradd -g user -d /home/data/www/ user #这是这个用户组存放的路径
chown —R user.user /home/data/

3. 创建客户端登录证书

注,收集所有需要登录的用户的公钥,就是他们自己生成的id_rsa.pub文件,把所有公钥复制到/home/data/www/.ssh/authorized_keys文件里,一行一个。嘿嘿!

1).客户端生成id_rsa.pub文件的命令 客户端:CentOS 6.5 ,ip:192.168.56.101

$ ssh-keygen -t rsa
$ cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NwUHeNNi+PC6KlrcJrXXDmKxRMmgHIPp79sgX6zqfdSlmNj7rBPQeyEKS9Wg8yI6jd8aG2jsUx99Vjti2VK2vEXKkRHxwID7ri69gE71RfDtv6ekafnzLo14J8hAp0spMk+N3wEAQRYDmcYo1wmnm/jMBedGrHj4NJQ1vYy1hVtJasGMSzjcMrlz9qvaluWnQ5tQjKFQVVwKsRRRzs8qTvzVhLJt4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+eN3wx2aeztdevxu9plggtG05SMmd8GNVzXrN1IaxXSvz0UwjQ2kygu7aCqO8AZWH49rouw== leo@LEO-PC

2). 将 客户端的 id_rsa.pub 添加到 服务端 Git用户的根目录
服务端 操作 :
cd /home/data/www/
mkdir .ssh
vim .ssh/authorized_keys
将 服务端 id_rsa.pub 里的公钥复制进去

此时可以尝试 在客户端192.168.56.101 连接 服务端 192.168.56.100
ssh user@192.168.56.100

reverse mapping checking getaddrinfo for unassigned.psychz.net [192.168.56.100] failed - POSSIBLE BREAK-IN ATTEMPT!
-bash-4.1$

4. 初始化Git仓库
在服务的选择你需要创建 仓库 的目录
su user
cd /home/data/www
git init .
git config receive.denyCurrentBranch ignore
git config --bool receive.denyNonFastForwards false
cd .git/hooks
mv post-update.sample post-update

cd ../../
初始化全局设置
git config --global user.name "Administrator"
git config --global user.email "Administrator@gmail.com"

在将所用内容纳入 Git 管理器之前 总有些是无需纳入Git 的管理 比如说一些特殊文件不想被修改等等
touch .gitignore
vim .gitignore #添加完无需纳入版本库的保存退出
git add . #添加 将整个项目纳入版本库
git commit -m 'The Git Create' # -m 后面书写的是此次添加的 核心 (文本说明)

git checkout -f # 恢复至最初的数据

忽略某些文件
一般我们总会有些文件无需纳入Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生
成的文件,像是日志或者编译过程中创建的等等。我们可以创建一个名为.gitignore 的文件,列出要忽略的
文件模式,来看一个简单的例子:
$ cat .gitignore
*.[oa]
*~
第一行告诉Git 忽略所有以.o 或.a 结尾的文件。一般这类对象文件和存档文件都是编译过程中出现
的,我们用不着跟踪它们的版本。第二行告诉Git 忽略所有以波浪符(~)结尾的文件,许多文本编辑软件
(比如Emacs)都用这样的文件名保存副本。此外,你可能还需要忽略log,tmp 或者pid 目录,以及自动
生成的文档等等。要养成一开始就设置好.gitignore 文件的习惯,以免将来误提交这类无用的文件。
文件.gitignore 的格式规范如下:
? 所有空行或者以注释符号# 开头的行都会被Git 忽略。
? 可以使用标准的glob 模式匹配。
? 匹配模式最后跟反斜杠(/)说明要忽略的是目录。
? 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
所谓的glob 模式是指shell 所使用的简化了的正则表达式。星号(*)匹配零个或多个任意字符;[abc] 匹配
任何一个列在方括号中的字符(这个例子要么匹配一个a,要么匹配一个b,要么匹配一个c);问号(?)
只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配
(比如[0-9] 表示匹配所有0 到9 的数字)。
我们再看一个.gitignore 文件的例子:
# 此为注释– 将被Git 忽略
*.a # 忽略所有.a 结尾的文件
!lib.a # 但lib.a 除外
/TODO # 仅仅忽略项目根目录下的TODO 文件,不包括subdir/TODO
build/ # 忽略build/ 目录下的所有文件
doc/*.txt # 会忽略doc/notes.txt 但不包括doc/server/arch.txt

git 安装与配置的更多相关文章

  1. Win7上Git安装及配置过程

    Win7上Git安装及配置过程 文档名称 Win7上Git安装及配置过程 创建时间 2012/8/20 修改时间 2012/8/20 创建人 Baifx 简介(收获) 1.在win7上安装msysgi ...

  2. Git安装与配置,以及pycharm提交代码到github

    1.下载git,安装 下载好后直接下一步到底,安装成功(选择组件页面,可以勾选上控制台窗口字体选项,如下图) 2.配置Git信息 1.打开窗口中,输入:git --version 查看已安装的git版 ...

  3. Git安装与配置

    一.简介 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...

  4. git学习1:git安装和配置

    Git是什么?世界上最先进的分布式版本控制系统,记录了一个文本文件的每次一修改信息,比如,一篇散文,从草稿到最终出版,经历过无数次修改,修改了标点符号形成一个版本,老师帮助修改形成一个版本,同学帮忙修 ...

  5. 分布式管理系统-git安装及配置

    安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功! 安装完成后,还需要最后一步设置,在命令行输入: $ git config - ...

  6. git安装后配置--config

    安装git后需要配置一下环境,每台计算机上只需要配置一次,程序升级时会保留配置信息. 你可以在任何时候再次通过运行命令来修改它们. 通过git config命令来配置环境变量,这些变量存储在三个不同的 ...

  7. g4e基础篇#3 Git安装与配置

    g4e 是 Git for Enterprise Developer的简写,这个系列文章会统一使用g4e作为标识,便于大家查看和搜索. 章节目录 前言 1. 基础篇: 为什么要使用版本控制系统 Git ...

  8. Git安装与配置——详细教程1

    1.下载Git客户端 想要安装Git首先要下载Git的安装包程序. Git安装包下载地址:https://git-scm.com/downloads/ 2.安装Git 双击安装程序进行安装: a. 欢 ...

  9. Git安装以及配置SSH Key——Windows

    安装 安装 Git 官网下载一个Windows版本的Git. 然后一直下一步即可,如下图 环境变量自动配好的,可以去检查一下环境变量中PATH中有没有Git的环境变量 然后在桌面右击鼠标,选择Git ...

  10. Git安装及配置SSH-Key

    下载Git 打开 https://git-scm.com/downloads 选择windows, 下载并安装. 配置全局用户名及邮箱 配置用户名 git config --global user.n ...

随机推荐

  1. 异步编程 z

    走进异步编程的世界 - 开始接触 async/await 序 这是学习异步编程的入门篇. 涉及 C# 5.0 引入的 async/await,但在控制台输出示例时经常会采用 C# 6.0 的 $&qu ...

  2. (转)pdf文件结构

    PDF文件结构(一)  ————物理结构 PDF(Portable   Document   Format,便携式文档结构)是一种很有用的文件格式,其最大的特点是平台无关而且功能强大(支持文字/图象/ ...

  3. SourceInsight 精确导入Linux kernel源码的方法

    相信有很多人用 SourceInsight 查看 Linux Kernel 源码,但导入源码时会遇到一些问题.1.如果把整个源码树都导入进去,查看符号定义的时候,会发现有大量重复定义,很难找到正确的位 ...

  4. <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 的说明

    X-UA-Compatible是针对ie8新加的一个设置,对于ie8之外的浏览器是不识别的,这个区别与 content="IE=7"在无论页面是否包含<!DOCTYPE> ...

  5. dedecms代码研究六

    今天讲的是dedecms最关键的东西,模板分析啦.也就是dedetag.class.php 里面的ParseTemplet方法 模板解析方法 先看看一个dedecms标签,大家心里有个数: {dede ...

  6. zedboard如何从PL端控制DDR读写(五)

    有了前面的一堆铺垫.现在终于开始正式准备读写DDR了,开发环境:VIVADO2014.2 + SDK. 一.首先要想在PL端通过AXI去控制DDR,我们必须要有一个AXI master,由于是测试,就 ...

  7. Linux 命令 ls -l

    一.ll命令 ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名. Ubuntu默认不支持命令ll,必须用 ls -l,这样使用起来不是很方便. 如果要使用此命令,可以作如下修改:打 ...

  8. [JavaScript 随笔] 垃圾回收

    在 JavaScript 中,由于垃圾回收是自动进行的,所以人们在编码时可能不太会注意这方面.但事实是,一些 webapp 在使用一段时间后,会出现卡顿的现象,特别是那些单页应用,包括 WebView ...

  9. python代码中指定时区获取时间方法

    os.environ['TZ'] = 'Asia/Shanghai' os.environ['TZ'] = 'Europe/London' hour_cur = time.strftime('%H')

  10. MSSQLSERVER之发布-分发-订阅

    一.环境 发布服务器 O S: Windows servier 2003 64位 Soft: Microsoft SqlServer 2008 R2 I P: 192.168.3.70 HOST-NA ...