建议直接使用 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来作为项目的版本控制了
相关推荐
Git版本控制流程,介绍如何使用Git做版本控制,以及项目中的实际应用
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Torvalds 开始着手开发 Git 是...
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。 这里默认下载的是64位的软件 双击下载的安装文件来安装Git。 一直下一步直到安装完成...
git的简介文档,软件安装,Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的...
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。[1] Git的读音为/gɪt/。 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。[2] Git 是 ...
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Torvalds 开始着手开发 Git ...
Windows系统条件下,批量清除git版本管理配置文件,批量删除.git文件夹 使用方法:下载将该脚本文件,拷贝到要清除的项目的文件夹目录下,双击bat文件即可。
Git软件版本控制描述了分布式版本控制系统的使用,用于敏捷高效地处理任何或小或大的项目
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Torvalds 开始着手开发 ...
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 Git 版本控制管理器 操作文档
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。
项目版本控制器git资源
作为开源自由原教旨主义项目,Git 没有对版本库的浏览和修改做任何的权限限制。它只适用于 Linux / Unix 平台,没有 Windows 版本,目前也没有这样的开发计划。 本文将以 Git 官方文档 Tutorial, core-tutorial 和 ...
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git - Downloads https://git-scm.com/downloads 官网下载太慢了, 等半天, 这里保存一份, 方便以后使用 这是Mac版本 git-2.23.0...
共享一个64bit的git管理工具,是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion...
Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux ...