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. 实验室ip同步脚步

    #!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin hostname=`hostname` us ...

  3. 用ping命令来模拟traceroute的功能

    ping -n 1 -r 9 qq.com 正在 Ping qq.com [163.177.65.160] 具有 32 字节的数据:来自 163.177.65.160 的回复: 字节=32 时间=11 ...

  4. java事件监听

    获取事件监听需要获取实现ActionListener接口的方法, public class SimpleEvent extends JFrame{    private JButton jb=new ...

  5. 69. Letter Combinations of a Phone Number

    Letter Combinations of a Phone Number Given a digit string, return all possible letter combinations ...

  6. 转:Oracle表分区

    Oracle表分区分为四种:范围分区,散列分区,列表分区和复合分区. 一:范围分区 就是根据数据库表中某一字段的值的范围来划分分区,例如: 1. create table graderecord 2. ...

  7. 八、MPxToolCommand, tool command

    1. Tool Property Sheets: 是用来更改context属性的编辑框,类似于attribute editor.(property和attribute本质上是一个意思)作用于activ ...

  8. C# IO

    在.NET框架中进行的所有IO操作都要用到流(Stream). System.IO命名空间中包含许多IO相关的类,C#文件读写的类几乎都在其中,下面对其进行详细介绍. 主要类列表: 类 说明 Bina ...

  9. 二模07day1解题报告

    T1.种树(tree) 有n棵树,各有高度,要求每棵树的高度都小于它到其他树的距离(可能种一起).求砍掉的总高度是多少. Ok,那么可以想到,只要满足每棵树和最近的树满足条件就可以保证和其他树满足了. ...

  10. 系统中定义VOMapping的时候注意大小写

    VOMapping中的第一个参数一定要严格按照大小写(缩写的单词容易错): 例如:VO中的定义: private CntVOEnums.EnumIVRStage ivrStage; 实际反射找这个字段 ...