git 分支 保护分支,以gitee为例

假设我们当前项目下有两个分支,分别名为 master 和 dev

根据 gitee 的项目成员权限说明,我们将 master 分支设置为保护分支,将 dev 分支设置为常规分支。如图所示。

然后创建我们的用户及相应 ssh key

假设现在有两个用户分别是 yeahlife@yeah.netfzbbookmarks@gamil.com ,当然了,这两都是我的常用邮箱,你自己可以去实验就行。

生成 yeahlife@yeah.net 用户的 ssh key 和 fzbbookmarks@gmail.com 的ssh key。

然后将 yeahlife@yeah.net ssh key 布署到 yeahlife@yeah.net 账号下或者说是管理员账号下的ssh公钥,

yeahlife@yeah.net 来管理 master 分支(管理员)。

同样,将 fzbbookmarks@gmail.com ssh key 布署到 fzbbookmarks@gmail.com 账号下的ssh公钥,

fzbbookmarks@gmail.com 来操作 dev 分支(开发者)。

两个 ssh key 都布署完毕,我们来测试。

然后,到我们的项目成员管理中,将 yeahlife@yeah.net 设置为管理员(如果是创建者就是管理员,当然也有可能是在企业账号下开发项目等情况), 将 fzbbookmarks@gmail.com 设置为开发者。

这里着重测试 fzbbookmarks@gmail.com 这个用户,查看他对于 master 分支和 dev 分支所能采取的操作,又或者说是确认保护分支是否生效。

复制项目地址

fzbbookmakrs@gmail.com 用户来拉取项目。

git clone git@gitee.com:yourrepo/yourreponame.git
默认拉取的是 master 分支
当然你也可以直接拉取对应分支,并跟踪远程 dev 分支
git checkout -b dev origin/dev

git branch
应该可以看到 master 分支和 dev 分支

yeahlife@yeah.net 用户这里同理。

我们在 fzbbookmarks@gmail.com 客户端上对项目进行简单的修改操作,来测试提交。

可以看到不能提交修改到 master 保护分支。

切换 fzbbookmarks@gmail.com 用户为 dev 分支,提交修改。

成功提交修改到 dev 分支。

这样我们就利用保护分支实现了对我们代码整体的可控性,避免发生不必要的意外情况。当然还是要开发人员平时多加注意。

这里由于我之前对这个认识有误,一度认为是将所有的ssh key 都布署到项目所属用户下,才导致保护分支不起作用,都布署到这个用户下,那所有的人员不都是管理员了么,再设置分支级别已经不会有效果,这里要注意,要把对应用户的公钥设置在他的账户下面不是统一设置到项目 ssh公钥下,这里记录下来,免得再犯糊涂。

感谢扣扣用户 332724213master@17-sky.cn 的耐心解释,

技术路上,你我相伴,少一些浮躁,多一些耐心,共同进步。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值