debian使用gitolite搭建git服务器
来源:互联网 发布:ubuntu删除谷歌输入法 编辑:程序博客网 时间:2024/06/05 05:28
debian版本:8.6
git版本:2.11.0
(1)安装git
直接进入https://github.com/git/git,点击releases,选择最新版本下载,下载完后使用命令安装
(2)添加git用户
sudo adduser --system --shell /bin/bash --group git
设置git密码 :
passwd git
进入git用户
su git
配置git用户信息,作用是:每次对git仓库操作时标记git的身份
git config --global user.name "XXXX"
git config --global user.email "XXXX@XX.XX"
(4)生成ssh key,用于创建仓库
切换到git用户下
su git
ssh-keygen
cd .ssh
cp id_rsa.pub authorized_keys
(5)安装gitolite
在git目录下:
git clone git://github.com/sitaramc/gitolite //复制gitolite的源码
mkdir bin //该目录用于安装gitolite
~/gitolite/install -to ~/bin //安装gitolite到bin
mv ~/.ssh/authorized_keys ~/git.pub //复制git.pub到git目录下
~/bin/gitolite setup -pk ~/git.pub //使用gitolite生成git的仓库
执行以上命令后,在git目录下生成了repositories、projects.list文件
其中repositories目录下生成了gitolite-admin.git、testing.git文件,gitolite-admin.git为用户管理仓库,用于管理用户权限
(6)创建远程仓库
在git用户下,repositories目录下,执行:
git init --bare XXXX.git //执行git init --bare命令后,创建了一个项目的远程仓库(裸库),该仓库不包含项目的工作空间,
//仅用于管理其他本地仓库,一般建立在服务器上,在未初始化前,其不能被clone
(7)根据已有项目初始化远程仓库
退出git用户,在其他用户下,进入项目根下,执行:
git init //执行git init命令后,在项目根目录下生成一个.git文件,用于管理本地仓库的项目版本
git add . //将工作区文件(conf与keydirs)提交到暂存区stage
git commit -m "init XXXX"//将暂存区文件提交到版本库中,其中-m后面被“ ”的字符串是发送的消息,可以任意写
git remote add origin git@192.168.XXX.XXX:XXXX //为本地仓库添加一个远程仓库,其中 origin相当于远程仓库的引用,可以自定义
git push origin master//将本地仓库中文件提交到远程仓库,master为git默认的仓库分支,详细了解分支的知识,请自行搜索
//如果以上步骤中没有执行第(3)步,会出现错误,提醒配置git的用户名和邮箱
(8)生成gitolite-admin
在git目录下执行:
git clone git@192.168.XXX.XXX:gitolite-admin //从repositories中的gitolite-admin.git仓库中clone一个gitolite-admin项目(gitolite本身是一个git项目),用于管理用户权限
执行完后,在git目录下生成了gitolite-admin文件,gitolite-admin目录下gitolite.conf文件用于控制用户权限,keydirs用于保存其他用户的XXX.pub文件(公匙)。
(9)windows系统创建git用户
windows安装git for windows后,右键点击git bash命令,在命令行中执行:
git-config user.name XXX
git-config user.email XXX@xxx.com
在.ssh文件下右键点击git bash命令,执行:ssh-keygen -t rsa -C "XXXXX@XX.XX" //可以根据您的邮箱生成.ssh文件 更改id_rsa.pub的名称为wmg.pub,对应的id文件名也更改为wmg
scp wmg.pub git@192.168.XX.XX:gitolite-admin/keydir //将wmg.pub文件上传至服务器git用户下的gitolite-admin/keydir目录中
(10)配置用户权限
在作为服务器的机器的git用户下,进入gitolite-admin/conf目录,执行:
sudo gedit gitolite.conf
在gitolite.conf文件中添加:
repo XXX //repo后面为仓库名,应与repositories中的XXXX.git的文件名(去除后缀.git)对应
RW+ = git wmg //=右边的名称应与keydirs中的文件名(去掉后缀)对应
下一步,在gitolite-admin目录下执行:
git add . //gitolite-admin是从gitolite-admin.git(远程仓库)clone的,因此gitolite-admin是本地仓库,其目录下有一个隐藏文件.git
git commit -m "add program and user wmg"
git push origin master
(11)从远程仓库clone项目
首先需要在git目录下执行:
git clone git@192.168.40.178:XXXX //将项目clone到git用户下,在我的实验中发现,如果不执行这个步骤,
//在其他用户的目录下(或其他机器上)无法从远程仓库clone想要的项目,原因未知
下一步,在其他服务器的用户下(或其他机器)执行:
git clone git@192.168.40.178:XXXX //clone之前初始化过的项目,clone后项目包含一个.git文件(本地仓库)
(12)idea从远程仓库clone项目
点击vcs
点击check out from version control
选择git
在出现的对话框git repositrory URL中输入:git@192.168.XXX.XXX:XXXX
Parente Directory中输入idea的工作空间
Directory Name输入项目名称
点击clone即可
- debian使用gitolite搭建git服务器
- 使用Gitolite搭建Git服务器
- 使用Gitolite搭建Git服务器
- 搭建Git服务器-gitolite
- Gitolite搭建Git服务器
- Git gitolite 服务器搭建
- 使用Gitolite搭建轻量级的Git服务器
- 使用Gitolite搭建轻量级的Git服务器
- 使用Gitolite搭建轻量级的Git服务器
- 使用Gitolite搭建轻量级的Git服务器
- 使用Gitolite搭建轻量级的Git服务器
- git服务器之gitolite搭建
- Windows上使用Cygwin和Gitolite搭建Git服务器
- 45.在Mac上使用gitolite搭建Git服务器
- GIT服务器的搭建【gitolite/gitosis版】
- Gitolite - g3 搭建 Git 服务器 详解
- git服务器搭建及gitolite权限管理
- git服务器搭建及gitolite权限管理
- 147. Insertion Sort List leetcode list
- Ubuntu 16.04 安装 Tensorflow(GPU支持)
- 页式存储管理(FIFO算法)
- Android on ROS
- 使用Python实现神经网络
- debian使用gitolite搭建git服务器
- 基于MVC开发模式的javaWeb项目开发流程
- MYSQLMTOP!开源MYSQL监控系统
- TensorFlow1: 评论分类
- 链表的创建
- TensorFlow2: 评论分类
- iphone5s 白苹果 刷机步骤
- android 属性大全
- TensorFlow3: RNN, Recurrent Neural Networks