标签:git http gitlab ssh test root kevin
gitlab环境部署好后,创建project工程,在本地或远程下载gitlab代码,有两种方式:ssh和http
1)ssh方式:这是一种相对安全的方式
这要求将本地的公钥上传到gitlab中,如下图:
window客户机设置ssh方式连接gitlab,请见:http://www.cnblogs.com/kevingrace/p/5651402.html(文章底部有介绍)
2)http连接方式
这种方式要求project在创建的时候只能选择“Public”公开状态,Private和Internal私有模式下不能使用http方式进行连接。(ssh方式在三种模式下都可以)。使用http方式直接连接gitlab显然没有ssh连接方式安全,但是也可以做些安全设置,比如在gitlab本机的iptables里做端口限制(如上是8081端口),添加白名单等。
===================================================
gitlab上创建的项目仓库,要注意该仓库下的members权限,如果某个gitlab用户没有设置在该仓库members权限下,则使用该gitlab用户进行git clone操作可以,但是进行git push则会失败!报错:remote: GitLab: You are not allowed to push code to protected branches on this project.
比如,使用gitlab的kevin用户进行git上传下载操作,kevin用户默认没有加到scanhost.git项目仓库的member权限下。 1)git clone是可以的 [root@test ~]# git config --global user.name "王士博" [root@test ~]# git config --global user.email "kevin@veredholdings.com" [root@test ~]# git clone http://gitlab.kevin-inc.com/fanglianchao/scanhost.git [root@test ~]# cd scanhost 2)git push则不允许,没有权限 [root@test ~]# touch README.md [root@test ~]# git add README.md [root@test ~]# git commit -m "add README" [root@test ~]# git push -u origin master ....... remote: GitLab: You are not allowed to push code to protected branches on this project. To http://gitlab.kevin-inc.com/fanglianchao/scanhost.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'http://gitlab.kevin-inc.com/fanglianchao/scanhost.git' 需要将kevin用户加入到scanhost.git项目仓库的member权限里,这样就有权限进行git push了!
标签:git,http,gitlab,ssh,test,root,kevin 来源: https://blog.51cto.com/u_10272167/2698032
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。