gitlab 可以进行黑魂21.0版本bug和权限控制,bug管理吗?供部门内部使用,而且是Linux和Windows平台都能使用

GitLab用户权限管理详述_Linux下载_Linux公社-Linux系统门户网站
你好,游客
GitLab用户权限管理详述
来源:Linux社区&
作者:sgk2011
在安装完毕GitLab后,登录到页面后,我们可以看到是没有任何项目,而且只有一个用户。在使用的时候,需要创建项目,而且会有对应的用户在项目中。下面练习这个操作
- GitLab新建用户组
1、点击右上角的扳手按钮
2、在弹出的对话框中选择 new group
3、Private:只有授权的用户才可以看到
Internal:只要是登录上来的用户就可以看到
Public:任何组和项目都可以看到
更多GitLab相关教程见以下内容:
14.04下安装GitLab指南&
如何在Ubuntu Server 14.04下安装Gitlab中文版&
源码安装GitLab汉化版&
CentOS 7下GitLab 9.1.0 安装及汉化&
CentOS 7.2安装GitLab CE 图文详解&
搭建属于自己的GitLab&
Ubuntu 14.04搭建GitLab服务器&
CentOS 6.5安装GitLab教程及相关问题解决
升级GitLab到8.2.0&
GitLab 的详细介绍:GitLab 的下载地址:&
1、可以看到创建完组以后,可以给组内添加成员。下面创建几个用户
tips:一个组可以有多个项目
- 用户创建
1、点击右上角的扳手按钮
2、在弹出的对话框中选择 new user,下面创建了一个管理用户GYH,两个普通用户YH01和YH02
完整PDF文档可以到Linux公社资源站下载:
------------------------------------------分割线------------------------------------------
免费下载地址在
用户名与密码都是
具体下载目录在 /2017年资料/5月/15日/GitLab用户权限管理详述/
下载方法见
------------------------------------------分割线------------------------------------------
本文永久更新链接地址:
相关资讯 & & &
& (01月23日)
& (12/24/:08)
& (06月06日)
& (12/24/:29)
& (07/08/:52)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款购买商品:
商品价格:
价格读取中
支付方式:
请扫码进行支付
请扫码进行支付
会员立省19.80元,
本课程为收费课程,请先购买当前课程
本课程为会员课时,请先开通会员
本课程为会员课时,您的会员账号已经过期
本课程为会员课时,您的会员账号已被禁用
文件地址有误
章未解锁,暂无观看权限
拼团未完成,暂无观看权限
购买未完成,暂无观看权限
播放器加载失败: 未检测到Flash Player,请
正在打包,请勿关闭和刷新页面
下一节课程:学习的重要性 (02:59)
每周都有机会获得讲师会员卡~~~
第一章:微服务简介
第二章:Linux使用
第三章:Docker实战开发
第四章:Docker Compose
第五章:使用 GitLab 托管代码
第六章:Spring Boot
第七章:集成Thymeleaf模板引擎
第八章:集成 MyBatis
第九章:项目实战
第一十章:项目实战-Dubbo 让服务间通信
第一十一章:项目实战-系统后台管理
第一十二章:项目实战-页面布局
第一十三章:项目实战-实现频道管理功能
第一十四章:项目实战-搭建 FastDFS 分布式文件系统
第一十五章:项目实战-实现文章管理功能
第一十六章:项目实战-使用 HBuilder 创建客户端
第一十七章:项目实战-创建 API 网关
第一十八章:客户端与服务端通信
第一十九章:Redis 为数据添加
第二十章:项目实战-Solr 全文搜索引擎
第二十一章:项目部署与负载均衡
第二十二章:持续集成与持续交付
第一章:微服务简介
第二章:Linux使用
第三章:Docker实战开发
第四章:Docker Compose
第五章:使用 GitLab 托管代码
第六章:Spring Boot
第七章:集成Thymeleaf模板引擎
第八章:集成 MyBatis
第九章:项目实战
第一十章:项目实战-Dubbo 让服务间通信
第一十一章:项目实战-系统后台管理
第一十二章:项目实战-页面布局
第一十三章:项目实战-实现频道管理功能
第一十四章:项目实战-搭建 FastDFS 分布式文件系统
第一十五章:项目实战-实现文章管理功能
第一十六章:项目实战-使用 HBuilder 创建客户端
第一十七章:项目实战-创建 API 网关
第一十八章:客户端与服务端通信
第一十九章:Redis 为数据添加
第二十章:项目实战-Solr 全文搜索引擎
第二十一章:项目部署与负载均衡
第二十二章:持续集成与持续交付
领取优惠券
正在努力加载中~~I am trying to clone a repository from a remote Gitlab server over SSH. I am using Gitlab CE version 9.3.9 755bb71 and TortoiseGIT version 2.5.0 and git (for windows) version 2.14.0
SSH Keys are installed correctly as I have tested the authentication using
ssh -vT git@192.168.100.100 -i /path/to/.ssh/key
I get the following message for authentication success using the above key
OpenSSH_7.5p1, OpenSSL 1.0.2k
26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 192.168.100.100 [192.168.100.100] port 22.
debug1: Connection established.
debug1: identity file /path/to/.ssh/key type 1
debug1: key_load_public: No such file or directory
debug1: identity file /path/to/.ssh/key-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.5
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1
debug1: match: OpenSSH_6.6.1 pat OpenSSH_6.6.1* compat 0x
debug1: Authenticating to 192.168.100.100:22 as 'git'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256@libssh.org
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server-&client cipher: chacha20- MAC: &implicit& compression: none
debug1: kex: client-&server cipher: chacha20- MAC: &implicit& compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:fEztD+bNxKRs24poXJMlP0GBAP6Q1dZT80OhQAtDQJE
debug1: Host '192.168.100.100' is known and matches the ECDSA host key.
debug1: Found key in /path/to/.ssh/known_hosts:1
debug1: rekey after
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /path/to/.ssh/key
debug1: Server accepts key: pkalg ssh-rsa blen 535
Enter passphrase for key '/path/to/.ssh/key':
debug1: Authentication succeeded (publickey).
Authenticated to 192.168.100.100 ([192.168.100.100]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-
debug1: Entering interactive session.
debug1: pledge: network
debug1: Remote: Forced command.
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Remote: Forced command.
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
Welcome to GitLab, John Doe!
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 3476, received 3264 bytes, in 2.2 seconds
Bytes per second: sent 1574.0, received 1478.0
debug1: Exit status 0
When I use TortoiseGit on windows to clone a repository I get the following error on the client
Cloning into 'C:\path\folder'...
GitLab: Disallowed command
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
On the gitlab server, in the gitlab-shell.log I get the following warning message
WARN -- : gitlab-shell: Attempt to execute disallowed command &git upload-pack '/path/to/repo.git'& by user with key key-1.
But when I try git clone from another linux machine with a different SSH key it's successfull and I get the following info message in gitlab-shell.logon the gitlab server
INFO -- : gitlab-shell: executing git command &gitaly-upload-pack
{"repository":{"path":"/very/long/path/to/repo.git"},"gl_id":"key-2"}& for user with key key-2.
I have spent more than 10 hours trying to debug everything and I am not sure what's the difference or where exactly is the problem. I have also tried adding the following in my local .gitconfig file for TortoiseGit but that doesn't change anything.
[remote "origin"]
uploadpack = git-upload-pack
Finally, cloning the same repository over HTTPS works fine, without any problem using a username / password.
解决方案 Note: I just upgrade to Git 2.14.0 for Windows... and none of the ssh url are working:
& git ls-remote
GitLab: Disallowed command
fatal: Could not read from remote repository.
(with origin being an ssh url)
Another side effect:
fatal: protocol error: bad line length character: Not
It looks as if BitBucket looks at argv[0] (typically git-upload-pack, with the regression git) to determine whether it is a permitted command.
So I think it is by design that git is rejected while git-upload-pack is not.
Same kind on error on GitLab: .
explicitly restore git-xxx when it detects a git xxx command.
def parse_cmd(args)
# Handle Git for Windows 2.14 using "git upload-pack" instead of git-upload-pack
if args.length == 3 && args.first == 'git'
@command = "git-#{args[1]}"
args = [@command, args.last]
@command = args.first
At the Git for Windows side, a fix is in progress:
Revert "git_connect: prefer Git's builtins over dashed form"
It would appear that this change (which was intended to fix tests
interacting with local repositories when git-upload-pack was not in the
PATH) regresses on SSH access.
is in the work and was just released (T11:05:34Z UTC) 30 minutes ago at the time of this edit.
Original answer
If key1 is the same as your
/path/to/.ssh/key and does identify John Doe, that should mean John Doe does not have access to that repo ().
Check that key2 is associated with a different user.
If both keys reference the same user, then it is more a local configuration issue (as in ).
Check also that your TortoiseGit does use the same key as in your test:
set "GIT_COMMAND_SSH=ssh -v"
# launch TortoiseGit from that CMD session
You will then see what TortoiseGit is using when cloning the repo with an ssh url. You might need to .
本文地址: &
我试图通过SSH从远程Gitlab服务器克隆存储库。我正在使用 Gitlab CE版本9.3.9 755bb71 和 TortoiseGIT版本2.5.0 和 git (for windows)version 2.14.0
SSH密钥安装正确,因为我已经使用
ssh -vT git@192.168.100.100 -i /path/to/.ssh/key
使用上面的键获得以下认证成功消息
debug1:读取配置数据/ etc / ssh / ssh_config
debug1:连接到192.168.100.100 [192.168.100.100]端口22.
debug1 : 连接已建立。
debug1:身份文件/path/to/.ssh/key类型1
debug1:key_load_public:没有这样的文件或目录 debug1:身份文件/path/to/.ssh/key-证书类型-1
debug1:为协议2.0启用兼容模式 debug1:本地版本字符串SSH-2.0-OpenSSH_7.5
debug1:远程协议版本2.0,远程软件版本OpenSSH_6.6.1
debug1:match:OpenSSH_6.6.1 pat OpenSSH_6.6.1 * compat 0x
debug1:以'git'身份验证为192.168.100.100:22
debug1:SSH2_MSG_KEXINIT发送 debug1:收到SSH2_MSG_KEXINIT
debug1:kex:算法:curve25519-sha256@libssh.org
debug1:kex:主机密钥算法:ecdsa-sha2-nistp256
debug1:kex:服务器 - &客户机密码:chacha20 - MAC:&隐含&压缩:无 debug1:kex:客户端 - &服务器密码:chacha20- MAC:& implicit&压缩:无 debug1:期望SSH2_MSG_KEX_ECDH_REPLY
debug1:服务器主机密钥:ecdsa-sha2-nistp256 SHA256:fEztD + bNxKRs24poXJMlP0GBAP6Q1dZT80OhQAtDQJE
debug1:主机'192.168.100.100'已知并且与ECDSA主机匹配键。
debug1:在/path/to/.ssh/known_hosts:1 中发现密钥debug1:在后重新密钥块 debug1:SSH2_MSG_NEWKEYS发送 debug1:期望SSH2_MSG_NEWKEYS
debug1:SSH2_MSG_NEWKEYS收到 debug1:重新键后块 debug1:收到SSH2_MSG_SERVICE_ACCEPT
debug1:可继续的身份验证:publickey,gssapi-keyex,gssapi-with-mic,密码 debug1:下一个验证方法:publickey
debug1:提供RSA公钥:/path/to/.ssh/key
debug1:服务器接受密钥:pkalg ssh-rsa blen 535 输入密码键'/path/to/.ssh/key': debug1:认证成功(publickey)。 认证为192.168.100.100([192.168.100.100]:22)。
debug1:通道0:新[client-session]
debug1:请求no-more-
debug1:输入交互式会话。
debug1:祈愿:网络 debug1:远程:强制命令。
debug1:Remote:禁用端口转发。
debug1:远程:禁用X11转发。
debug1:远程:代理转发已禁用。
debug1:远程:禁用Pty分配。
debug1:远程:强制命令。
debug1:Remote:禁用端口转发。
debug1:远程:禁用X11转发。
debug1:远程:代理转发已禁用。
debug1:远程:禁用Pty分配。 欢迎来到GitLab,John Doe!
debug1:client_input_channel_req:channel 0 rtype退出状态回复0
debug1:client_input_channel_req:通道0 rtype 回复0
debug1:通道0:free:client-session,nchannels 1 转移:在2.2秒内发送3476,收到3264字节每秒字节数:发送1574.0,收到1478.0
debug1:退出状态0
当我在Windows上使用TortoiseGit来克隆存储库时,我在客户端上遇到以下错误:
<$克隆到'C:\路径\文件夹'...
GitLab:不允许的命令致命的:无法从远程存储库读取。
请确保您拥有正确的访问权限并存在存储库。
在gitlab服务器上,在 gitlab-shell.log 我收到以下警告消息:
- :gitlab-shell:尝试执行不允许的命令& git upload-pack'/path/to/repo.git'&通过用户使用密钥键-1。
但是,当我尝试从另一个 git clone
linux机器使用不同的SSH密钥它是成功的,我在gitlab服务器上的 gitlab-shell.log 中获得以下信息消息:
- :gitlab-shell:执行git命令& gitaly-upload-pack {“repository”:{“path”:“/ very / long / path / to /repo.git\"},\"gl_id\":\"key-2\"}&用户使用密钥key-2。
我花了超过10个小时试图调试所有内容,我不确定有什么区别或哪里这正是问题所在。我也尝试在TortoiseGit的本地 .gitconfig 文件中添加以下内容,但这不会改变任何内容。
[remote“origin”]
uploadpack = git-upload-pack
最后,通过HTTPS克隆相同的存储库可以很好地工作,不会有任何使用用户名/密码的问题。
>注意:我只是升级到Git 2.14.0 for Windows ...并且没有一个ssh url正在工作:
& git ls-remote
GitLab:不允许的命令致命:无法从远程存储库读取。
( origin 是一个ssh url)
另一个副作用是:
致命错误:协议错误:坏行长度字符:Not
看起来好像BitBucket看起来 argv [0 ] (通常 git-upload-pack ,回归git)来确定它是否是允许的命令。
所以我认为在设计时 git 会被拒绝,而 git-upload-pack 不是。
GitLab出现同样的错误:。
明确恢复 git- xxx <b
a href =“https://gitlab.com/gitlab-org/gitlab-shell/blob/b5a244be26c13aea720e/lib/gitlab_shell.rb#L72-79”rel =“noreferrer”>
gitlab_shell.rb# parse_cmd(args)
def parse_cmd(args)#Handle Git for Windows 2.14使用“git upload-pack”而不是git-upload-pack 如果args.length == 3&& args.first =='git' @command =“git
- #{args [1]}” args = [@command,args.last]
@命令= args.first 结束
在Git for Windows方面,进度:
还原“git_connect:偏好Git的内置函数而不是虚线形式”
看来这个更改在 git-upload-pack 不在
PATH 中时测试与本地存储库的交互。 )在SSH访问方面倒退。
在工作中,刚刚发布(T11:05:34Z UTC)30分钟前在这个时间编辑。
如果 key1 与您的 /path/to/.ssh/key 相同,并确定John Doe,这应该表示John Doe不会有权访问该回购协议()。 检查key2是否与不同的用户。
如果两个键都引用同一个用户,那么它更像是本地配置问题(如)。 检查你的TortoiseGit是否使用了与你的测试相同的密钥:
set“GIT_COMMAND_SSH = ssh -v “#从该CMD会话中启动TortoiseGit
然后,您将看到TortoiseGit在使用什么时用ssh url克隆回购。您可能需要。
本文地址: &
扫一扫关注IT屋
微信公众号搜索 “ IT屋 ” ,选择关注
与百万开发者在一起
(window.slotbydup = window.slotbydup || []).push({
id: '5828425',
container: s,
size: '300,250',
display: 'inlay-fix'桃之夭夭,灼灼其华
GitLab使用总结
代码管理一直用svn,git的分支管理认为是最好的,尝试用用。
一.GitLab简介
GitLab 是一个用于仓库管理系统的开源项目。使用作为代码管理工具,并在此基础上搭建起来的web服务。
可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用。
下载安装 https://bitnami.com/stack/gitlab/installer
二.GitLab 的配置与使用
1.创建新项目(web)
1-1.登录gitlab网址成功后,点击右侧导航条上的 “+” 就可以进入创建项目的页面
1-2.在创建工程的页面,按照要求填写项目的名称和可见性等信息。
Project path:项目的路径,一般可以认为是项目的名称
Import prject from:从哪导入项目,提供Github/Bitbucket等几个选项
Description(项目的描述):可选项,对项目的简单描述
Visibility Level(项目可见级别):提供Private(私有的,只有你自己或者组内的成员能访问)/Internal(所有登录的用户)/Public(公开的,所有人都可以访问)三种选项。
2.添加和配置SSH公钥:
2-1.SSH(Secure Shell)是一种安全协议,在你的电脑与GitLab服务器进行通信时,我们使用SSH密钥(SSH Keys)认证的方式来保证通信安全。
2-2.创建 SSH密钥,并将密钥中的公钥添加到GitLab,以便我们通过SSH协议来访问Git仓库。
SSH 密钥的创建需要在终端(命令行)环境下进行,我们首先进入命令行环境。通常在OS X和Linux平台下我们使用终端工具(Terminal),在Windows平台中,可以使用工具,git客户端安装目录下git-bash.exe文件
A:进入SSH目录:cd ~/.ssh
(1)如果还没有 ~/.ssh 目录,可以手工创建一个(mkdir ~/.ssh),之后再通过cd
~/.ssh进入SSH目录
(2)可以通过ls -l命令查看SSH目录下的文件,来确认你是否已经生成过SSH密钥;如果SSH目录为空,我们开始第二步B,生成 SSH 密钥;如果存在id_rsa.pub这个文件,说明你之前生成过SSH密钥,如何添加多个sshkey也不难,一般很少用,这里不介绍了。
B:生成SSH密钥
我们通过下面的命令生成密钥,请将命令中的YOUR_替换为你注册gitlab时用的Email地址。
ssh-keygen -t rsa -C "YOUR_"
在SSH生成过程中会出现以下信息,按屏幕的提示操作即可:
Note:Enter passphrase (empty for no passphrase) :时,可以直接按两次回车键输入一个空的
passphrase;也可以选择输入一个 passphrase 口令,如果此时你输入了一个passphrase,请牢记,之后每次提交时都需要输入这个口令来确认。
实践过程中Android studio 如果有密码无法同步,建议不要密码。
公钥默认地址:C:\Users\用户\.ssh
连接git服务器生成可信任文件known_hosts,否则会报:Push failed: Failed with error: fatal: Could not read from remote repository.
Per Android Studio help under SSH Executable:
Built-in: select this option to use the implementation provided by IntelliJ IDEA.Native: select this option to use native implementation.修改SSH Executable 为 Native
3.获取SSH公钥信息:
SSH密钥生成结束后,根据提示信息找到SSH目录,会看到私钥id_rsa和公钥id_rsa.pub这两个文件,不要把私钥文件id_rsa的信息透露给任何人。我们可以通过cat命令或文本编辑器来查看id_rsa.pub公钥信息。
(1)通过编辑器。使用你熟悉的文本编辑器,比如 记事本、Sublime Text等软件打开id_rsa.pub,复制里面的所有内容以备下一步使用。
(2)通过cat命令。在命令行中敲入cat id_rsa.pub,回车执行后命令行界面中会显示id_rsa.pub文件里的内容,复制后在下一步使用。
(3)通过直接使用命令将id_rsa.pub文件里的内容复制到剪切板中
Windows: clip
& ~/.ssh/id_rsa.pub
Mac: pbcopy
& ~/.ssh/id_rsa.pub
GNU/Linux (requires xclip): xclip
-sel clip & ~/.ssh/id_rsa.pub
4.添加SSH公钥到gitlab:
4-1.打开gitlab的Profile配置页面,选择SSH Keys,如图:
4-2.添加SSH公钥。填写Title和Key,其中Title是Key的描述信息,Key是上面复制的SSH公钥的内容,直接粘贴到输入框中保存即可。
5.导入项目:
5-1.设置下git的用户名和邮箱
在提交代码前,还需要设置下git的用户名和邮箱(最好用英文,不要出现中文),这样提交记录才会在gitlab上显示带有你名字的记录。
在命令行窗口输入(windows需要安装打开工具才行):
git config --global user.name"your_name"
git config --global user.email "your_email"
5-2.导新项目到gitlab上
如果项目存在,需要导入到gitlab,可以通过命令行直接将项目导入上去。
cd "本地存在项目的路径"
git remote add origin :USERNAME/PROJECTNAME.git
git commit -m 'first git demo'
git push -u origin master
(注:将USERNAME和PROJECTNAME替换成用户名和项目的名称)
5-3.导入项目到本地
git clone"你的项目地址"
Note:如何在gitlab上找到你的项目地址位置,请看下图:
没有更多推荐了,

我要回帖

更多关于 新仙剑没有bug的版本 的文章

 

随机推荐