git版本管理库搭建攻略

GIT版本控制系统 

第一部分 基本概念

版本库:本地库、公共库

每个开发人员在本地都有自己的版本库,在服务器上有一个公共的版本库。所有的历史记录都存储在本地库中。向版本库提交代码无须连接远程版本库而是记录在本地库中。

版本库中存储什么:和项目相关的所有文件。

工作目录树:又称版本库的“断面视图”,就是项目的整个目录结构。工作目录树创建方法有两个,第一个用Git相关命令初始化版本库生成“.git”目录,于是“.git”的父目录就是工作目录树;第二个方法克隆一个已经存在的版本库(就是拷贝),随之也创建了相应的工作目录树。

代码修改与文件同步:push、pull

Push是一个修改-确认-提交的过程,把自己修改的提交到本地库和公共库,通过这个动作可以让项目组中其他人员看到、获得你做的修改;

Pull是一个取来-合并的过程,方便工作人员从公共库中取来项目中其他人员改动的部分到本地库中并和自己的合并在一起。

标签:版本管理的一个手段,可以理解为具体的版本号。

分支:项目开发中,遇到某些模块需要特别开发或者重写等情况,可以在版本库中创建分支,并行开发。分支的生命周期可以是长期也可能很短。

分支合并:所以的分支、主线都是围绕着项目服务,最终都是向着一个终点目标,这就会发生合并。Git能够自动合并,不能合并时会提示冲突 

第二部分 Git服务器安装与设置

1先检查本机是否安装Python,在终端输入

:python --version

,能显示处python版本即安装。

2安装 openssh服务器:

sudo apt-get install openssh-server openssh-client

3安装 git服务器 :

sudo apt-get install git-core

4配置 git服务器,创建git服务器管理用户 :

sudo adduser \
    --system \
    --shell /bin/sh \
    --gecos 'git version control' \
    --group \
    --disabled-password \
--home/home/git \
git

初始化全局设置 (设定用户名和邮箱):

git config --global user.name"myname"
git config --global user.emailmyname@server
5管理员在个人计算机上创建个人公钥和私钥 ,在默认用户的主目录路径下,运行以下命令,按照提示创建公钥和私钥:
ssh-keygen -t rsa

默认情况下,公钥和私钥会保存在~/.ssh目录下,如下所示:

id_rsa  id_rsa.pub known_hosts   把id_rsa.pub拷贝到服务器上初始化gitosis用

6安装python的setuptool:

sudo apt-get install python-setuptools

7下载并安装gitosis :选定目录为src

cd /src
git clonegit://eagain.net/gitosis.git
cd gitosis
sudo python setup.py install

8初始化gitosis 并让他运行起来  此处用来配置超级管理员

cp ~/***/id_rsa.pub /src/id_rsa.pub
sudo -H -u gitgitosis-init < /src/id_rsa.pub

9修改post-update权限:

sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
10.管理员在自己的机器上clone gitosis管理平台 
git clone [email protected]:gitosis-admin.git
Initializedempty Git repository in /usr/local/work/gitosis-admin/.git/
remote:Counting objects: 5, done.
remote:Compressing objects: 100% (4/4), done.
remote:Total 5 (delta 0), reused 5 (delta 0)
Receivingobjects: 100% (5/5), done.

11安装完成,在管理员PC上进入上一步clone形成的gitosis-admin目录修改gitosis用户权限,添加用户的公密到keydir,修改完后commit、push到服务器即可完成仓库权限的相关操作

相关推荐