如何在mac上使用git连接私有的gitlab服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在mac上使用git连接私有的gitlab服务器相关的知识,希望对你有一定的参考价值。

首先要 ssh远程登陆工具比secureCRT等

案 基于SSH直接搭建
Git支持协议主要四种:
本: 需要文件共享系统权限控制
HTTP:速度慢
SSH:同支持读写操作支持匿名读取(Git默认协议)
GIT:快
搭建难易程度特点综合筛选合适ssh并且部服务器基本都ssh服务所省少麻烦基本思路给每ssh帐号家通用户名口令访问显选择做些余并且于repo权限难管理
使用Github候利用rsa.pub公钥/私钥式服务端拥用户公钥(*.pub)跨繁琐口令直接认证提交服务端根据同用户身份其权限着更加灵管理我采用种式
服务端
使远程库访问更加直观先服务器创建名git账户clone候面格式:

git clone git@server:some.git

创建新用户创建repo等目录

$sudo adduser git
$su git
$cd ~
$mkdir repos

HOME.ssh目录没则创建创建authorized_keys文件文件用管理所git用户公钥面用户于项目着R+W权限
客户端
于每客户端我需要密钥公钥Github用户.ssh目录定id_rsa.pubid_rsa两文件其第系统公钥另自要保存密钥没终端执行:ssh-keygen完自公钥提交给管理员注册行

步管理员团队员公钥添加authorized_keys比同susie加入:

$ cat susie.pub >> authorized_keys

至家通git@server:repos/some.git访问公共版本库
问题
安全问题员登录git用户shell,细节权限支等控制
管理麻烦新建repo,或者增加员比较麻烦尤其修改候
案二 使用Gitolite服务
Gitolite 基于SSH协议构建便管理git repo应用通其源码安装.
安装
安装按照官给定文档轻易实现:

$ git clone git://github.com/sitaramc/gitolite
$ mkdir -p $HOME/bin
$ gitolite/install -to $HOME/bin
$ gitolite setup -pk YourName.pub

执行条命令候gitolite识别则通面两种式解决:
gitolite添加PATH面
通$HOME/bin/gitolite setup -pk YourName.pub 执行
至gitolite服务端搭建完毕发现HOME目录增加文件projects.list目录repositories,者我版本仓库每新建repo候其创建
使用
候说gitolite管理模式创建gitolite-adminrepo管理员通像repo提交配置文件实现git服务器控制
首先repo导入我workspace:前需要配置本ssh,gitolite要求管理员本密钥其注册公钥名字致比我安装候指定 -pk面 admin.pub 则管理员本需要由admin应私钥我通~/.ssh/config进行配置(注:些系统用confMac OSX 效能用config).

host gitolite
user git
hostname yourhostname.com
port 22
identityfile ~/.ssh/admin

我访问gitolite候自根据配置文件执行配置完根据面命令gitolite-admin转移本

git clone gitolite:gitolite-admin.git

克隆完发现gitolite-admin面两目录其conf保存配置文件我通编辑面gitolite.conf文件管理git服务器keydir目录保存用户公钥pub文件
我讲修改repo 提交候gitolite自应用些配置管理程便
配置规则
打gitolite.conf文件看其示例:
To add new users alice, bob, and carol, obtain their public keys and add them to \'keydir\' as alice.pub, bob.pub, and carol.pub respectively.
To add a new repo \'foo\' and give different levels of access to these users, edit the file \'conf/gitolite.conf\' and add lines like this:

repo foo
RW+ = alice
RW = bob
R = carol

面配置文件新建repo foo并且添加三位项目员每权限同提交push管理便效
视化
我能需要web界面管理些项目我目前知道三种式:
git源码自带组件cgi脚本实现使用gitolite服务
gitlab源框架基于ROR新版本再使用gitolite服务
FB源php框架 phabricator功能高端档
参考技术A 首先要 ssh远程登陆工具比secureCRT等

案 基于SSH直接搭建
Git支持协议主要四种:
本: 需要文件共享系统权限控制
HTTP:速度慢
SSH:同支持读写操作支持匿名读取(Git默认协议)
GIT:快
搭建难易程度特点综合筛选合适ssh并且部服务器基本都ssh服务所省少麻烦基本思路给每ssh帐号家通用户名口令访问显选择做些余并且于repo权限难管理
使用Github候利用rsa.pub公钥/私钥式服务端拥用户公钥(*.pub)跨繁琐口令直接认证提交服务端根据同用户身份其权限着更加灵管理我采用种式
服务端
使远程库访问更加直观先服务器创建名git账户clone候面格式:

git clone git@server:some.git

创建新用户创建repo等目录

$sudo adduser git
$su git
$cd ~
$mkdir repos

HOME.ssh目录没则创建创建authorized_keys文件文件用管理所git用户公钥面用户于项目着R+W权限
客户端
于每客户端我需要密钥公钥Github用户.ssh目录定id_rsa.pubid_rsa两文件其第系统公钥另自要保存密钥没终端执行:ssh-keygen完自公钥提交给管理员注册行

步管理员团队员公钥添加authorized_keys比同susie加入:

$ cat susie.pub >> authorized_keys

至家通git@server:repos/some.git访问公共版本库
问题
安全问题员登录git用户shell,细节权限支等控制
管理麻烦新建repo,或者增加员比较麻烦尤其修改候
案二 使用Gitolite服务
Gitolite 基于SSH协议构建便管理git repo应用通其源码安装.
安装
安装按照官给定文档轻易实现:

$ git clone git://github.com/sitaramc/gitolite
$ mkdir -p $HOME/bin
$ gitolite/install -to $HOME/bin
$ gitolite setup -pk YourName.pub

执行条命令候gitolite识别则通面两种式解决:
gitolite添加PATH面
通$HOME/bin/gitolite setup -pk YourName.pub 执行
至gitolite服务端搭建完毕发现HOME目录增加文件projects.list目录repositories,者我版本仓库每新建repo候其创建
使用
候说gitolite管理模式创建gitolite-adminrepo管理员通像repo提交配置文件实现git服务器控制
首先repo导入我workspace:前需要配置本ssh,gitolite要求管理员本密钥其注册公钥名字致比我安装候指定 -pk面 admin.pub 则管理员本需要由admin应私钥我通~/.ssh/config进行配置(注:些系统用confMac OSX 效能用config).

host gitolite
user git
hostname yourhostname.com
port 22
identityfile ~/.ssh/admin

我访问gitolite候自根据配置文件执行配置完根据面命令gitolite-admin转移本

git clone gitolite:gitolite-admin.git

克隆完发现gitolite-admin面两目录其conf保存配置文件我通编辑面gitolite.conf文件管理git服务器keydir目录保存用户公钥pub文件
我讲修改repo 提交候gitolite自应用些配置管理程便
配置规则
打gitolite.conf文件看其示例:
To add new users alice, bob, and carol, obtain their public keys and add them to 'keydir' as alice.pub, bob.pub, and carol.pub respectively.
To add a new repo 'foo' and give different levels of access to these users, edit the file 'conf/gitolite.conf' and add lines like this:

repo foo
RW+ = alice
RW = bob
R = carol

面配置文件新建repo foo并且添加三位项目员每权限同提交push管理便效
视化
我能需要web界面管理些项目我目前知道三种式:
git源码自带组件cgi脚本实现使用gitolite服务
gitlab源框架基于ROR新版本再使用gitolite服务
FB源PHP框架 phabricator功能高端档

ubuntu搭建GitLab

目前Git是最流行的代码管理工具,git是分布式的,在多人协作,分支开发的项目上有其独特的优势。github上如果想建私有仓库是需要收取费用的,开源的GItLab允许我们搭建Git私有服务器。

下面介绍一下如何在自己的ubuntu服务器上搭建Gitlab。GitLab是一款开源的软件,在用基本的功能时时免费的,当需要提供额外的服务时需要收取费用。

下载最新版的gitlab,需要的机器配置:

ubuntu 14.0以上

服务器内存需要4G以上

gitlab运行比较消耗内存,4g一下服务器安装了也无法运行

 

安装gitlab可以去官方网站中查看教程,里面的教程也比较详细

https://about.gitlab.com/installation/#ubuntu

 

首先安装依赖包

sudo apt-get install curl openssh-server ca-certificates postfix 

 

下载gitlab

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash 

sudo apt-get install gitlab-ce

由于gitlab是从国外服务器下载,需要FQ,不然会非常慢,或者直接不成功

这个时候需要用到国内的镜像,https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/

网站里有详细的设置说明,在里面选择相应的服务器操作系统和版本就行

这里需要注意:

在文档里将deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xxxx main写入/etc/apt/sources.list.d/gitlab-ce.list文件中

在运行过程中如果不起作用,就替换成将内容写入/etc/apt/sources.list.d/gitlab_gitlab-ce.list中就可以。如果没有gitlab-ce.list或gitlab_gitlab-ce.list就手动建一个就可以。

最后在运行sudo apt-get install gitlab-ce就可以正常下载安装了

 

配置:

gitlab安装完成后就可以访问了

配置文件在:/etc/gitlab/gitlab.rb
如果无法正常启动服务,客户端访问报502等
可以修改端口号等一些信息,根据具体报错在网上有相应的配置方法予以解决
配置完成后运行
sudo gitlab-ctl reconfigure进行重新配置
 
常用命令:
sudo gitlab-ctl status 查看运行状态
gitlab-ctl restart 重启
gitlab-ctl tail 查看日志
gitlab-ctl reconfigure 重新装载配置

 

以上是关于如何在mac上使用git连接私有的gitlab服务器的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu搭建GitLab

如何在私有 GitLab 存储库中使用 Go

CI/CD之搭建私有git仓库gitlab

CI/CD之搭建私有git仓库gitlab

怎么在gitlab上面创建远程仓库

使用Git与GitHub协同开发并搭建私有GitLab代码托管服务器