su - git git clone git://github.com/sitaramc/gitolite mkdir -p $HOME/bin # 创建bin目录 gitolite/install...-to $HOME/bin # 安装gitolite 配置gitolite管理员 ssh-keygen -t rsa cd /home/git/.ssh cp id_rsa.pub admin.pub...# 改成admin,因为gitolite根据这个文件名来设置账号的 /home/git/bin/gitolite setup -pk .ssh/admin.pub 下载服务端的远程管理仓库 cd /...home/git/ git clone git@xx.xx.xx.xx:/gitolite-admin # 进入仓库后,可以看到conf和keydir目录,删除上面的admin.pub公钥 vim gitolite-admin.../conf/gitolite.conf # 配置仓库和用户权限 图片 添加用户和配置权限 把用户的公钥上传到gitolite-admin/keydir/目录下,并修改成配置文件中的名字 图片
而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。...gitadmin 6:添加用户的ssh登录密码 passwd git 7:查看所有用户 cat /etc/passwd 大多都是系统自带的,而只有像root、git这样的以/bin/bash的,是可以使用...在git用户的/home下面,执行 git clone https://github.com/sitaramc/gitolite mkdir -p $HOME/bin gitolite/install...-to $HOME/bin ls 可以看到有两个目录bin,gitolite 10:设置管理员的私钥 在git用户下的/bin目录下,执行 ..../keydir下,命令如下: scp id_rsa.pub root@ip地址:/home/gitadmin/gitolite-admin/keydir/local.pub 在gitolite-admin
如果不是要与他人协同开发,git根本不需要架设服务器,git可以直接使用本地版本库的路径完成git版本间的操作。但是如果需要和他人分享版本库,协作开发,就需要能够通过网络协议操作git库。... port 22 #访问git服务器时的端口号 identityfile ~/.ssh/admin #访问git服务器时使用的公钥文件 ...,是因为git找不到你要提交的版本,可以使用如下命令: git push origin master Gitolite授权详解 前文我们提到,在gitolite-admin的管理仓库中有两个目录,其中...仅在符版本库授权时可以使用。用于指定谁可以创建与通配符匹配的版本库。...R,RW,RW+: R为只读,RW为读写,RW+为读写及强制push RWD,RW+D: 只有当授权指令中定义了正则引用(正则表达式定义的branch、tag等),才可以使用该授权指令。
在之前章节已经完成了服务端的配置,可以访问Git核心技术:在Ubuntu下部署Gitolite服务端查看配置步骤,因为gitolite的管理是通过一个名为gitolite-admin的仓库进行的,我们本章来主要讲解下这个仓库...生成SSH KEY Gitolite的管理端可以跟Server是一个系统也可以是分开的系统,本章我们使用相同的系统来进行配置,后期我们创建的客户端用户也可以授权管理权限。...mv id_rsa.pub yuqiyu.pub 如果你的客户端与服务端在同一台服务器上,你可以直接把文件从.ssh复制到服务端,那如果不在同一台服务器上,只能通过scp命令进行远程复制,我们这里直接使用远程复制...99a5ec5c3bd5 SpringDataJPA相关系列文章请访问:http://www.jianshu.com/p/615ed9c1fe84 开源信息 这段时间一直在编写开源的相关框架,致力于公司使用的框架升级以及开源计划...,将公司使用到的工具以及插件进行升级重构并且开源。
如果你系统之前没有安装open-ssh相关依赖环境需要一并进行安装,命令如下所示: sudo apt-get install git openssh-server openssh-client 在上述安装过程中使用默认的配置即可...系统用户创建完成后我们需要切换到该用户进行安装Gitolite以及对Gitolite进行初始化,命令如下所示: sudo su git 安装Gitolite 用户我们已经创建完成,接下来我们就需要进行安装...gitolite了,如果你对gitolite不了解,可以去https://github.com/sitaramc/gitolite查看官方文档。...99a5ec5c3bd5 SpringDataJPA相关系列文章请访问:http://www.jianshu.com/p/615ed9c1fe84 开源信息 这段时间一直在编写开源的相关框架,致力于公司使用的框架升级以及开源计划...,将公司使用到的工具以及插件进行升级重构并且开源。
以下我分别介绍手动管理权限和使用gitolite管理的方式,注意两者不兼容,不能混用。...好了,此时我们就不用担心客户端通过shell登录,只允许使用git-shell进行管理git的仓库。 如果有其他小伙伴要连接git服务器,仅需要把他的公钥也添加到authorized_keys即可。...7. git的自动权限管理:gitolite(不要跟上面的步骤混做!!!) 如果团队大点的,我们可以用gitolite管理,而且使用很方便。...总结 其实配置这些并不繁琐,但是需要你有一定的linux的经验,当然你也可以选择使用GitLab或者Github。 最后希望能帮到你。...---- 参考: git服务器搭建及gitolite权限管理 Centos搭建Git服务器和Gitolite权限设置 Linux 使用 Gitolite 架設 Git Server
重要提醒, 本教材适用于gitolite v2,与当前最新版v3不兼容!! 需要在checkout gitolite后,切换到v2版!!...cd gitolite ################################## #重要!!...cd gitolite-admin ls -l 你会看到两个文件夹conf 和keydir keydir 是 存放用户的公钥的, 用户名.pub , 可以建子文件夹 conf下只有一个文件,gitolite.conf...,默认内容如下: repo gitolite-admin RW+ = wendal repo testing RW+ = @all 一目了然的吧,你可能问: 如何添加新的库啊?...下面是简单的git指南 在我看来就几个命令: #克隆一个库,相当于svn的check out git clone git@wendal.net:gitolite-admin #设置本地信息,非常重要!!
本章目标 完成客户端的gitolite配置。...Git客户端,可以去Git官网进行下载对应系统的安装文件,点击下载https://git-scm.com/downloads 客户端的SSH KEY 在上传公钥之前,客户端需要先生成公钥文件才可以,同样是使用...Windows系统生成 如果你的客户端是使用Windows系统进行开发,安装完成Git客户端后在鼠标右键的功能菜单会出现一个Git Bash Here选项,点击该选项会弹出Git命令终端,在终端内执行如下命令...上传客户端公钥 将.ssh目录下的id_rsa.pub文件进行重命名,尽量使用开发人员的姓名全拼来命名,这样方便管理。...,将公司使用到的工具以及插件进行升级重构并且开源。
4.1 协议 Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。下面分别介绍一下哪些情形应该使用(或避免使用)这些协议。...如果你只给出路径,Git 会尝试使用硬链接或直接复制它所需要的文件。如果使用了 file:// ,Git 会调用它平时通过网络来传输数据的工序,而这种方式的效率相对较低。...我们这里仅仅使用普通路径,这样更快。...优点 使用 SSH 的好处有很多。首先,如果你想拥有对网络仓库的写权限,基本上不可能不使用 SSH。...本例将使用 authorized_keys 方法来给用户授权。我们还将假定使用类似 Ubuntu 这样的标准 Linux 发行版。
使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。...项目地址:https://gitee.com/Unknown/gogs 3、Gitea 开源版本 简介:Gitea 的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。...项目地址:https://www.oschina.net/p/gitstack 6、Gitolite 开源版本 简介:Git 是非常著名的分布式版本控制系统。...gitolite 则是方便通过 Git 与 ssh 架设中央服务器的软件。...项目地址:https://www.oschina.net/p/gitolite 7、Gidder 开源版本 简介:Gidder 是通过 SSH 访问的 Andriod Git 服务器!
但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。...:1001:,,,:/home/git:/bin/bash 改为: git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell 这样,git用户可以正常通过ssh使用...Gitolite就是这个工具。 这里我们也不介绍Gitolite了,不要把有限的生命浪费到权限斗争中。...小结 搭建Git服务器非常简单,通常10分钟即可完成; 要方便管理公钥,用Gitosis; 要像SVN那样变态地控制权限,用Gitolite。
git 2、仓库主目录/home/git/repositories 3、权限管理仓库 /home/git/repositories/gieolite-admin.git 4、/home/git/.gitolite
1、gitolite 2、通过GIT Hook管理
参考文章:http://www.ossxp.com/doc/git/gitolite.html 当前任务,学习中… 公司小范围用法: 服务器上做的: 在服务器上建立一个用户,这里命名为git。...你的提交说明” git remote add origin git@yourServerIP:/opt/git/project.git (这里是将远程git服务器命名成origin,方便以后使用...当然,还有更多的分支使用技巧…请参考以下书籍: Pro.Git-zh_CN 还有一本: Git Community Book 中文版 下面是本人在使用git过程遇到的问题
它基本上包涵了现有github网站上面的一切功能,你使用它甚至在视觉上都不会发生任何变化,界面都是和现有 github一样的。...Gitorious(Ruby) InDefero(PHP) Girocco(Perl) Gitosis(Python) Gitolite(Perl) 这里也有一篇文章是介绍类似github框架的框架
最近比较喜欢用bitbucket,因为要用私有库又不舍得交钱给Github只能这样了,虽然自己也用gitolite搭了git server,但是毕竟仅仅是一个git server。
因为前两章讲到了Gitolite服务端的配置,配置客户端时是采用的SSH方式授权登录的Git Server,如果你看过我的文章应该对open-ssh有一定的了解,我们本章的内容同样也是需要open-ssh...99a5ec5c3bd5 SpringDataJPA相关系列文章请访问:http://www.jianshu.com/p/615ed9c1fe84 恒宇少年的开源框架 这段时间一直在编写开源的相关框架,致力于公司使用的框架升级以及开源计划...,将公司使用到的工具以及插件进行升级重构并且开源。
与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持(注:这得分是用什么样的服务端,使用http协议或者git协议等不太一样。...注意: 1、使用命令"git clone"从一个现有的版本库克隆出来的新版本库也是一个工作目录(working tree),包含.git目录和实际项目源文件; 2、如果使用命令"..."git reset --hard"之后才能看到push后的新内容,或者是登陆到远程版本库目录下,使用命令"git config --bool core.bare true"把版本库的核心属性修改成bare...例如,在操作整个Recket项目时使用Repo,而操作其中的某个仓库时使用Git。在包含隐藏目录.git的目录下执行git操作。...基于Gitolite的Git服务架设 http://www.linuxidc.com/Linux/2014-02/96991.htm Linux git命令参数及用法详解
[TOC] 0x00 前言 虽然Github是比较好使用,但是也有它的不足比如传输速率上传拉取,私有仓库个数有限制,而且必须链接外部网络才能使用,所以GitHub 能提供极佳的服务但却有一些限制,尤其是你是单人或是一名...但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。...我们有一个远程服务器和一台本地服务器,现在我们需要使用这两台机器来工作。为了简单起见我们就分别叫它们为远程服务器R和本地服务器L。...管理权限:可采用 Gitolite 有很多不但视源代码如生命,而且视员工为窃贼的公司,会在版本控制系统里设置一套完善的权限控制,每个人是否有读写权限会精确到每个分支甚至每个目录下。...我们也可以使用 GUI 工具来管理本地计算机上的更改,则可以使用 GUI 工具,例如QGit 或 GitK for Linux。
使用过SVN的同学应该知道,当没有网络的支持,开发者并没有办法提交已完成代码。Github支持离线提交,其实就是提交到本地仓库。...每一个开发者clone下的项目代码都是一个完整的仓储,当远程或其他协作开发者代码无法恢复时,都可以方便使用本地的仓储进行恢复。...随后分布式服务器push或download都是使用master,包括对github的交互也是如此。...但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。...Gitolite就是这个工具。这里我们也不介绍Gitolite了,不要把有限的生命浪费到权限斗争中。
领取专属 10元无门槛券
手把手带您无忧上云