`
alfred_long
  • 浏览: 560445 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Git安装及对项目提供版本控制服务

    博客分类:
  • git
阅读更多

 建议直接使用 gitlab 或者 gogs(开源很强大  -2016) 

 

近来要使用Git作为新项目的版本控制,抽出时间来恶补 了下,主要参考是《Pro Git》,如果用心看了这本书,我下面的内容可以不用看了。下面主要是在centos下搭建了安装了Git,然后作为一个对项目内部的版本控制。


 

一、安装

1 下载git

wget  https://github.com/git/git/archive/master.zip

2 安装

$tar zxvf git-2013-3-4.tar.gz

$cd git-2013-3-4/

$ autoconf

$ ./configure

$make && make install

 测试是否安装成功

$git 

如果出现info信息,说明安装成功

 

 

<!-----建议用gitosis来进行管理 ,不推荐ssh ---- 可以直接跳过看 第三点>

二、SSH管理

服务器端:

添加git管理账户

$ useradd git 

$ su git

生成公钥

$ ssh-keygen -t  rsa #一路回车

 

--

1在window下用puttygen生成公钥

2 将公钥的内容复制,写入到authorized_keys文件中(默认没有可以自己创建)

修改权限

chmod 644 .ssh/authorized_keys 

3 保存密钥为 project.ppk(供客户端工具使用)

--

创建新的版本库(git 用户)

$ mkdir project.git

$ cd project.git

$ git --bare init #新的空版本

第一次导出 git用户在本地

第二次用工具

客户端(windows--TortoiseGit):

创建文件-->右键选择gitclone

 

Load putty key 选项选择保存的 私钥

然后就可以正常克隆git的版本了

 

 

三、Gitosis管理(权限管理建议使用这种方法)

服务器端

1 安装Gitosis 

下载Gitosis 

wget  https://github.com/res0nat0r/gitosis/archive/master.zip

(地址可以自己寻找合适的,上面地址下载以后为master,需要改名为master.zip)

$unzip master.zip

$ cd gitosis-master

$ python setup.py install(root用户)

$ cd gitosis

 初始化 Gitosis 了。需要通过自己的公钥来运行 gitosis-init (git用户)

$ gitosis-init < /home/git/.ssh/id_rsa.pub 

 将这个新的控制仓库中的 postupdate脚本加上执行权限

$ chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update (root用户)

测试是否配置正确 

$ ssh git@192.168.1.83  (git用户)

输出下面内容为正确

PTY allocation request failed on channel 0

ERROR:gitosis.serve.main:Need SSH_ORIGINAL_COMMAND in environment.

Connection to 192.168.1.83 closed.

 

$ git clone git@192.168.1.83:gitosis-admin.git   (git用户)

(若无法克隆,说明安装有问题,不是绝对路径)

$ cd gitosis-admin

$ ls

keydir 为放置公钥的文件路径

gitosis.conf为配置权限目录

$ cat gitosis.conf

默认内容:

[gitosis]

[group gitosis-admin]

writable = gitosis-admin

Members = git@localhost

 

添加一个群组 

[group myproject]

writable = melon_project 

Members = melon  (多个时候,空格分开)

----

生成密钥,将公共密钥 存为melon.pub (跟members相同),上传到服务器/home/git/gitosis-admin/melon.pub,保存私钥保存

-----

$ git add .

$ git commit -m “message” .

$ git push

 

第一次需要通过这样的方式生成项目仓库

$ mkdir melon_p

$ cd melon_p

$ git init

$ git remote add origin git@192.168.1.83:melon_project.git

$ git push origin master  (会提示没有提交任何文件,无所谓,这步会创建melon_project.git仓库,也可以添加些文件 再提交push)

 

之后,就可以在外部克隆仓库了..

 

注意: 使用gitosis进行控制时,不能在url前面添加 ssh:// 添加了会无法克隆仓库

 

基本的服务端和客户端都已经实现了,可以用git来作为项目的版本控制了

  • 大小: 39.2 KB
  • 大小: 35.6 KB
分享到:
评论
1 楼 syw19901001 2014-11-10  
从入门到精通,不错。
http://www.ihref.com/read-16369.html

相关推荐

    Git版本控制

    Git版本控制流程,介绍如何使用Git做版本控制,以及项目中的实际应用

    git版本控制及手册.rar

    Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Torvalds 开始着手开发 Git 是...

    Git(开源的分布式版本控制系统)最新版安装包

    Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。 这里默认下载的是64位的软件 双击下载的安装文件来安装Git。 一直下一步直到安装完成...

    git下载安装使用

    git的简介文档,软件安装,Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的...

    Git安装使用教程

    Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。[1] Git的读音为/gɪt/。 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。[2] Git 是 ...

    版本控制工具Git 32位与64位安装包

    Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Torvalds 开始着手开发 Git ...

    windows git 删除版本控制 清理.git文件夹 批量处理

    Windows系统条件下,批量清除git版本管理配置文件,批量删除.git文件夹 使用方法:下载将该脚本文件,拷贝到要清除的项目的文件夹目录下,双击bat文件即可。

    Git软件版本控制.pdf

    Git软件版本控制描述了分布式版本控制系统的使用,用于敏捷高效地处理任何或小或大的项目

    版本控制工具git-1.9.2

    Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Torvalds 开始着手开发 ...

    Git 版本控制管理器 操作文档 git api

    Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 Git 版本控制管理器 操作文档

    Git安装包 下载 window版本

    Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    Git是一个开源的分布式版本控制系统 64位

    Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。

    项目版本控制器git资源

    项目版本控制器git资源

    GIT安装文件取代SVN和CVS

    作为开源自由原教旨主义项目,Git 没有对版本库的浏览和修改做任何的权限限制。它只适用于 Linux / Unix 平台,没有 Windows 版本,目前也没有这样的开发计划。 本文将以 Git 官方文档 Tutorial, core-tutorial 和 ...

    git-2.23.0-intel-universal-mavericks.dmg-Git版本控制Mac版

    Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git - Downloads https://git-scm.com/downloads 官网下载太慢了, 等半天, 这里保存一份, 方便以后使用 这是Mac版本 git-2.23.0...

    git版本控制工具

    共享一个64bit的git管理工具,是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    Git安装包(分布式版本控制系统)

    Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    git官网最新版本

    Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion...

    git中文教程-Linux 内核开发的版本控制工具

    Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux ...

Global site tag (gtag.js) - Google Analytics