https
交互方式
https
的方式每次操作远程仓库都需要提供用户名及密码- 另外对于
https
的方式,由于是自鉴权的SSL 证书,未经过第三方机构签署- 所以git的客户端会报错,需要我们在使用时添加如下选项进行忽略
git clone -c http.sslVerify=false https://192.168.1.58/git/doc/gitdoc.git
- 或者是 在本地的项目文件夹 运行如下命令
git config http.sslVerify false
- 注意 不要加
--global
选项 除非你的git只用在公司的所有项目中 不然会导致你应用第三方git仓库的https
方式忽略掉证书错误
- 如果一次性上传的内容较大,还需要修改如下选项
git config --global http.postBuffer 5242880
- 这样就是最大50M了
- 总之 还是下面提到的
ssh
的方式更适合我们的工作方式 当然现在很多IDE会可以记录你的https
的用户名和密码 - 如果喜欢也可以用
https
的方式 包括在别人的电脑上临时clone
应急处理也是可以采用这种方式的
ssh
交互方式
- 如果需要用
ssh
提交 需要提交自己的ssh key 当然大多数情况下都是采用这种方式的 - 以windows为例 安装了msysgit后 在Git Bash 中输入如下命令:
ssh-keygen -t rsa -C "你的邮箱地址"
- 这个邮箱地址也是你注册gitlab的邮箱地址
- 会在 C:/用户 对应的用户文件夹内的.ssh 下生成
id_rsa
及id_rsa.pub
- (私钥的密码可设置也可不设置,看个人需求)
- 上到 gitlab的地址并提交自己的
id_rsa.pub
的内容
gitlab
的group
- gitlab有group的概念,比如我建立了一个关于文档相关的组
- 然后在这个组下我新建了gitdoc的git项目
- 下图是创建时关于项目权限的选择
关于gitlab
的权限
- 对于一个group 或一个project来讲 都可以添加members
- 添加的时候会有权限选择 如下
Guest
Reporter
Developer
Master
- 当然项目的创建者 拥有最高权限
Owner
- 上述链接中有关于group 及 project 的权限相关说明 请仔细阅读
- 关于
accuvally
的项目master
分支 一般人是不会有push 权限的develop
分支 可视项目的复杂度及大小 由各个项目的master权限管理者制定feature
分支 所有为developer 的人应该都有push权限