Ubuntu server 搭建Git server【转】

简介: 转自:http://www.cnblogs.com/candle806/p/4064610.html   Ubuntu server 搭建Git server,git相比svn,最主要就是分布式了,每个客户端用户的本地都是一个版本管理控制器。

转自:http://www.cnblogs.com/candle806/p/4064610.html 

 Ubuntu server 搭建Git server,git相比svn,最主要就是分布式了,每个客户端用户的本地都是一个版本管理控制器。

  Ubuntu server 版本为12.04

  搭建步骤如下:

  1、更新Ubuntu server

  操作如下:

  $ apt-get update

  $ apt-get upgrade

  如上命令更新并升级系统,防止在安装git过程中,出现部分依赖包没有安装。

  

  2、安装openssh的server和client

  其实通常情况下,Ubuntu server都默认安装了openssh。安装SSH的目的,SSH 协议用于为 Git 提供远程读写操作,是远程写操作的标准服务,ssh可用于远程登录,服务端需要安装openssh-server,客户端需要安装openssh-client。介绍ssh协议是因为gitolite以及gitosis都是基于ssh公钥认证的。

  安装openssh之前,可以先查看是否安装过

  $ ps -ef | grep ssh

  如果没有,就继续如下安装步骤,

  $ sudo apt-get install openssh-server openssh-client

  

  3、安装git

  $ sudo apt-get install git-core  

  安装完毕即可!

 

  4、配置git用户

  在Ubuntu Server上新增一个git用户,用于为安装gitosis做准备

  $ sudo adduser --system --shell /bin/bash --group git  // 创建用户 git,并设置用户的 shell 为可登录的 shell,如 /bin/bash,同时添加同名的用户组。

  $ sudo adduser git ssh  // 有的系统,只允许特定的用户组(如 ssh 用户组)的用户才可以通过 SSH 协议登录,这就需要将新建的 git 用户添加到 ssh 用户组中。

  $ sudo passwd git  // 为 git 用户设置口令。

  $ ssh-copy-id git@server  // 管理员在客户端使用下面的命令,建立无口令登录。 

 

  5、创建git Server的仓库存储

  $ sudo mkdir /home/git/repositories  // 创建git仓库存储目录

  $ sudo chown git:git /home/git/repositories  // 设置只允许git用户才能访问此目录

  $ sudo chmod 755 /home/git/repositories  // 设置目录访问的可读写或执行的权限

  初始化一下服务器的git用户,这一步其实是为了安装gitosis做准备。在任何一 台客户端机器上使用git,第一次需要初始化一下:

  $ git config --global user.name "name"       // 例如:james

  $ git config --global user.email "name@server"   // 例如:james@yahoo.com

  

  6、获取Gitosis,并安装

  Gitosis 就是一套用来管理 authorized_keys文件和实现简单连接限制的脚本。简单地说,Gitosis就是git的权限策略控制器。  

  因为Gitosis源码安装方式通过python方式,所以这里要检测是否安装了python的setup tool,没有即安装此工具, 这个也是为了gitosis做准备:

  $ sudo apt-get install python-setuptools

  去到一个临时目录

  $ cd /tmp

  $ git clone https://github.com/res0nat0r/gitosis.git  // 下载Gitosis的源代码

  $ cd /tmp/gitosis

  $ sudo python setup.py install

  

  说明:Gitosis有一个改进的升级版Gitolite,这里以安装Gitosis为标准,所以不对Gitolite介绍。Gitosis安装完之后,即Git服务器就安装完成,接下来,需要为Git设置一个管理员,通过Gitosis初始化之后,才能正常使用Git作为版本控制进行相关版本管理。

  下一节,将详细描述通过创建Git管理员来初始化Git Server,并详细描述Git在Windows下作为客户端如何使用。

【作者】 张昺华
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
目录
相关文章
|
存储 Shell 开发工具
|
1月前
|
缓存 数据可视化 网络安全
Git命令大全
Git命令大全
61 1
|
1月前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
56 0
Git教程:深入了解删除分支的命令
|
2月前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux git命令使用教程
【Shell 命令集合 文件管理】Linux git命令使用教程
37 0
|
2月前
|
开发工具 git
git常用命令整理
git常用命令整理
16 0
|
1月前
|
开发工具 git 开发者
Git常用命令大全:让你轻松驾驭版本控制
Git命令速查:`git init`新建仓库,`git clone`克隆,`git add`入暂存区,`git commit -m`提交,`git status`查看状态,`git log`查看历史,`git branch`创建分支,`git checkout`切换,`git merge`合并,`git pull`拉取更新,`git push`推送,`git remote -v`查看远程,`git checkout --`撤销本地修改,`git reset HEAD`取消暂存,`git reset --hard`回退版本。掌握这些,提升代码管理效率!
22 0
|
14天前
|
Shell 网络安全 开发工具
GIT常用命令
GIT常用命令
|
21天前
|
存储 Linux 开发工具
Git 分布式版本控制系统基本概念和操作命令
Git 分布式版本控制系统基本概念和操作命令
32 0
|
23天前
|
算法 Java BI
云效产品使用报错问题之平台上导出的统计数据和 git 中使用命令导出的数据统计都对不上,如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。