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的权限

当使用HTTPS协议推送代码到Git仓库时,发现每次都需要输入密码, *** 作起来非常麻烦。下面介绍几种免去输入密码的方法。

HTTPS协议推送

使用HTTPS协议,有一种简单粗暴的方式是在远程地址中带租吵岁上密码。

>git remote set-url origin http://yourname:[email protected]/yourname/project.git

还有一种方法,是创建文件存储Git用户名和密码。

以Windows环境为例,在%USERPROFILE%目录中(一般为C:\Users\yourname),打开Git Bash命令行,创建文件

>touch .git-credentials

在文件中输入仓库域名,这里使用了bitbucket.org。

https://yourname:[email protected]

在CMD终端中设置在全局Git环境中,长期存储密码

>git config --global credential.helper store

其他设置密码方式

记住密码(默认15分钟):git config --global credential.helper cache

自定义存储时间:git config credential.helper 'cache --timeout=3600'

SSH协议推送

如碰凳果原来的推送地址协议是HTTPS,可以通过弊睁换成SSH协议,在远程仓库添加SSH Key来实现推送时免账户密码输入。

>git remote -v // 查看远程地址

>git remote rm origin // 删除原有的推送地址

>git remote add origin [email protected]:<用户名>/版本库名

或者

>git remote -v

>git remote set-url origin [email protected]:<用户名>/版本库名

执行推送。

>git push -u origin master

发现提示权限不够。

The authenticity of host 'bitbucket.org (104.192.143.1)' can't be established.

RSA key fingerprint is SHA256:zzXQOXSRBEiUtuE8AikJYKwbHaxvSc0ojez9YXaGp1A.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'bitbucket.org,104.192.143.1' (RSA) to the list of kn

own hosts.

Permission denied (publickey).

fatal: Could not read from remote repository.

Please make sure you have the correct access rights

and the repository exists.

需要在本地创建该帐号的RSA Key。可以参考以下两篇文章:

Windows下配置SSH连接Github

Git如何在本地生成多个SSH key

然后再执行推送。

>git push -u origin master

就可以推送成功了。

1.git remote命令列出所有远程主机

2.使用-v选项,可以参看远程主机的网址

3.git remote show命令加上主机名,可以查看该主机的详细信息。

4.git remote add命令用于添加远程主机

5.git remote rm命令用于删除远程主机

6.git remote rename命令用于远程主机的改名

1.默认情况下,git fetch取回所有分支(branch)的更新到本地。

2.如果只想取回特定缓型分支的更新,可以指定分支名。

3.git branch命令的-r选项,可以用来查看远程分支,-a选项查看所有分支

4.回远程主机的更新以后,可以在它的基础上,使用git checkout命令创建一个新的分支

5.在本地分支上合并远程分支,表示在当前分支上,合并origin/master

1.取回远程主机某个分支的更新,再与本地的指定分支合并

2.取回origin主机的next分支,与本地的master分支合并

3.如果远程分支是与当前分支合并,则冒号后面的部分可以省略。

4.上述 *** 作,等同于先做git fetch,再做git merge

5.指定当前分支追踪origin/next分支。

如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名

6.如果远程主机删除了某个分支,默认情况下,git pull 不会在拉取远程分支的时候,删除对举如应的本地分支。

这是为了防止,由于其他人 *** 作了远程主机,导致git pull不知不觉删除了本地分支。

但是,你可以改变这个行为,加上参数 -p 就会在本地删除远程已经删除的分支。

Git 远程仓库没有实时更新分正哪启支使用:

1.git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿

git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>

2.如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),

如果该远程分支不存在,则会被新建。

3.如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。

4.如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略

5.如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,

这样后面就可以不加任何参数使用git push

6.不带任何参数的git push,默认只推送当前分支,这叫做simple方式。

此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。

Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。

如果要修改这个设置,可以采用git config命令

7.还有一种情况,就是不管是否存在对应的远程分支,

将本地的所有分支都推送到远程主机,这时需要使用--all选项

8.如果远程主机的版本比本地版本更新,推送时Git会报错,要求先在本地做git pull合并差异,

然后再推送到远程主机。这时,如果你一定要推送,可以使用--force选项

9.git push不会推送标签(tag),除非使用--tags选项

命令作用:

只能清空全部已修改的问题件, 但是对于新建的文件和文件夹无法清空, 必须组合下面命令

命令作用: 清空所有新建的文件和文件夹


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

原文地址: http://outofmemory.cn/bake/11975060.html

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

发表评论

登录后才能评论

评论列表(0条)

保存