没有权限merge到源git仓库?一招教你如何解决。


在git上贡献项目的时候,一般步骤是,clone源项目到本地,切出一个新的分支,然后在新分支上开发,最后push到远程,然后提出mr。但是对于一些非开源的项目,可能会出现:
在这里插入图片描述
这就是说明没有权限在仓库下直接创建一个新分支,因为你并不是这个项目的所有者,下面介绍一个解决办法:

1.fork仓库到本地

将源仓库fork到本地(在源项目首页可以看到fork标识,点击即可)
在这里插入图片描述
然后查看 自己拥有的项目,就可以看到刚才fork的项目啦:
在这里插入图片描述
点击进入,查看clone的ssh/https
在这里插入图片描述
复制之后克隆到本地,然后切出一个新的分支,进行开发,开发好即可成功push到远程仓库,但是在我们push前一般都要merge一下master分支,但是注意一点,现在的master版本并不是源仓库的最新版本,而是fork时的版本,这个时候就需要更新一下最新的代码到本地,然后在进行merge,步骤如下小节。

2.更新代码

将原始存储库添加为远程存储库,并将其拉取到本地副本中。

git remote add upstream https://github.com/original-owner/original-repository.git

在此命令中,将original-owner替换为原始存储库的所有者的GitHub用户名,将original-repository替换为原始存储库的名称。

然后,可以使用以下命令将原始存储库的更改拉取到本地副本中:

git fetch upstream

此命令将从原始存储库中拉取最新的更改,但不会将它们合并到本地副本中。如果想将原始存储库的更改合并到本地副本中,可以运行以下命令:

git merge upstream/master

此命令将拉取的更改合并到本地master分支中。

3.合并代码

经过上述步骤之后 master已经是最新的了,这个时候在切到自己的分支进行merge,然后push到远程即可。
然后创建一个mr,你就可以发现,现在已经可以将自己的新开发分支,合并到没有权限的远程仓库分支啦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值