git怎么给远成仓库添加用户权限

git怎么给远成仓库添加用户权限,第1张

1、新建用户

将用户的公钥文件 如 **.pub 拷贝到 gitolite-admin\keydir文件夹下,做一次提交,并push到服务器。

2、新建仓库设置用户权限

修改 gitolite-admin\conf\gitolite.conf 文件,加入权限和需要新建的仓库名,做一次提交,并push到服务器,这时候在服务器上就生成了新建的仓库。

例如:

@group = user1 user2

repo test

RW+C = user3

RW br1 = @group

RW refs/tags/ = user1 user3

2.1 @group = user1 user2group组有 user1、user2 两个用户

2.2 repo test test 是仓库名

2.3 RW+C = user3 user3 有“读、写、强制更新、创建分支 ”权限

2.4 RW br1 = @groupgroup组对br1分支有读写权限

2.5 RW refs/tags/ = user1 user3 user1和user3有打tag的权限

一、安装

软件:msysGit-fullinstall-1.8.1.2

打开之后设置安装路径,默认为C:\msysgit,如图:

注意:如果要自定义安装路径,请不要安装在带有空格的路径以及含有中文的路径下点击“OK”以后开始安装,首先将文件解压到安装目下,然后会自动开始编译,编译结束之后,若看到与下图中类似的内容,则表明编译成功。

二、配置

注意:在配置过程中会对一系列文件进行编辑,请使用支持 unix 格式的编辑器Notepad++,

1、C:\msysgit\msysgit\etc\gitconfig 添加:(这里选择了默认安装路径)

[gui]encoding = utf-8[i18n]commitencoding = GB2312

2、C:\msysgit\msysgit\etc\inputrc 修改两行为:

set output-meta onset convert-meta off

3、C:\msysgit\msysgit\git\contrib\completion\git-completion.bash 末尾增加:

alias ls='ls --show-control-chars --color=auto'

4、C:\msysgit\msysgit\etc\bash_profile 末尾增加:

export LESSCHARSET=utf-8

三、gitlab服务器端的设置

访问gitlab服务器,界面如下:

输入账号密码登陆以后(假设你的账号是user_test@user.test),点“New Project”,这里设置工程名为example,创建工程之后网页会有提示: You won't be able to pull or push project code via SSH until you add an SSH key to your profile 这时我们需要把刚才生成的公钥递交到服务器上,点击“add an SSH key”,出现如下界面:

我们需要生成一对 Key(这里指密钥),然后才能通过加密的方式和服务器的代码库取得同步。现在运行C:\msysgit\msysgit\msys.bat,并执行以下命令:(注意请把user_test@user.test替换成你的账号)

$ ssh-keygen -t rsa -C "user_test@user.test"

一路回车,如图:

密钥生成成功!密钥分成两个文件,一个私钥(id_rsa)、一个公钥(id_rsa.pub)。私钥保存在你的电脑上,公钥交项目负责人添加到服务器上。用户必须拥有与服务器公钥所配对的私钥,才能访问服务器上的代码库。

【注意!】为了项目代码的安全,请妥善保管你的私钥!因为一旦私钥外泄,将可能导致服务器上的代码被泄漏!

接下来将公钥提交给gitlab服务器即可。打开C:\Users\Administrator\.ssh\id_rsa.pub,将里面的内容复制到“add an SSH key”网页上的key文本框中,Title填写为你的邮箱账号,这里为user_test@user.test,保存后即添加成功。

【注意!】这里的Administrator为windows下的登陆用户,如果不清楚登陆用户名,点击开始菜单即可看到用户名,见下图:

现在回到刚才的工程目录对应的网页中,有提示信息,按照它给的步骤一步步来即可,这里作简单解释:

Git global setup:git config --global user.name "user_test"

#git的全局设置,设置一次即可,这里设置用户名

git config --global user.email "user_test@user.test"

#git的全局设置,设置一次即可,这里设置邮件

Create Repositorymkdir example

#在当前目录创建example工程文件夹

cd example

#切换目录example目录

git init

#初始化本地的git仓库

touch README

#创建一个新文件,名字为README

git add README

#将对README文件的修改通知git

git commit -m 'first commit'

#将通知给git的修改提交到本地仓库上,-m为设定提交理由:first commit

git remote add origin git@10.10.144.235:user_test/example.git

#添加远程服务器端的git仓库,名字为origin,链接内容为最后一串字符

git push -u origin master

#将本地git仓库的内容推送到origin链接上,推送版本默认为主版本

第一次提交后会提示连接不能建立,因为rsa的fingerprint没有验证,我们选择yes之后随即开始推送,如果出现类似于如下图的情况,那么表明推送成功!

以后若要再次提交只需要执行 :

git add xxx(xxx为修改的文件) git commit -m 'xxx'(xxx为提交的原因) git push -u origin master(本地推送到远程服务器端)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11612049.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存