首页 > 其他分享 >git~为github三方仓库添加贡献的正确方式

git~为github三方仓库添加贡献的正确方式

时间:2023-12-06 15:22:49浏览次数:31  
标签:三方 git 仓库 github upstream 远程 分支

为github三方仓库添加贡献

如果希望成为某些开源框架的贡献者,例如如希望加入higress、keycloak、ruoyi这些框架的开发者行列,那么今天的文章应该可以帮到您。

克隆和拉取项目

  1. FORK Higress 到您的存储库。要完成这项工作,您只需单击 alibaba/higress 主页右侧的 Fork 按钮。然后你将在
    中得到你的存储库https://github.com/<your-username>/higress,其中your-username是你的 GitHub 用户名。

  2. 克隆 您自己的存储库以在本地开发. 用于 git clone [email protected]:<your-username>/higress.git 将存储库克隆到本地计算机。 然后您可以创建新分支来完成您希望进行的更改。

  3. 设置远程 将上游设置为 [email protected]:alibaba/higress.git 使用以下两个命令:

git remote add upstream [email protected]:alibaba/higress.git
git remote set-url --push upstream no-pushing

这两句命令的作用是在git中配置远程仓库。第一条命令git remote add upstream [email protected]:alibaba/higress.git的作用是将远程仓库的地址添加到本地仓库中,并给它起一个别名"upstream"。这样做可以让你从该远程仓库获取代码,比如进行git fetch upstream来拉取最新的代码。

而第二条命令git remote set-url --push upstream no-pushing的作用是设置"upstream"远程仓库的推送地址为"no-pushing",这意味着你在使用git push命令时,不能直接将代码推送到"upstream"远程仓库,从而避免了意外地向上游仓库推送代码。

使用此远程设置,您可以像这样检查您的 git 远程配置:

$ git remote -v
origin     [email protected]:<your-username>/higress.git (fetch)
origin     [email protected]:<your-username>/higress.git (push)
upstream   [email protected]:alibaba/higress.git (fetch)
upstream   no-pushing (push)

添加这个,我们可以轻松地将本地分支与上游分支同步。

分支定义

现在我们假设通过拉取请求的每个贡献都是针对 Higress 中的 主分支 。在贡献之前,请注意分支定义会很有帮助。

作为贡献者,请再次记住,通过拉取请求的每个贡献都是针对主分支的。而在Higress项目中,还有其他几个分支,我们一般称它们为release分支(如0.6.0、0.6.1)、feature分支、hotfix分支。

当正式发布一个版本时,会有一个发布分支并以版本号命名。

在发布之后,我们会将发布分支的提交合并到主分支中。

当我们发现某个版本有bug时,我们会决定在以后的版本中修复它,或者在特定的hotfix版本中修复它。当我们决定修复hotfix版本时,我们会根据对应的release分支checkout hotfix分支,进行代码修复和验证,合并到主分支。

对于较大的功能,我们将拉出功能分支进行开发和验证。

将分支推送到远程上游仓库

这个主要是考虑到,你把第三方仓库拉到本地进行功能扩展,设置远程三方仓库名为upstream(一般远程名为origin),本地分支名为zzl,我的功能在本地分支zzl上进行了开发,推到自己的远程origin仓库,现在要把它推到三方仓库,我们不建议(你也没权限)直接推到三方远程仓库,一般是在自己的远程仓库建立"pull request",把分支合并到三方的远程仓库,合并第三方仓库之前,会有专业的技术人员来review你的代码,你还需要签署相关的协议,具体如下:
要提交一个 Pull Request(PR),将你的远程分支合并到三方仓库的远程分支,你可以按照以下步骤进行操作:

1. 在你的远程仓库中,确保你的新功能分支是最新的,并且包含了你希望合并的更改。

2. 进入你的远程仓库页面,在页面上方会有一个"Pull Request"或"New Pull Request"的按钮,点击它。

3. 在弹出的页面中,选择 "base repository" 为目标三方仓库,选择 "base branch" 为目标远程分支,然后选择 "head repository" 为你的远程仓库,选择 "compare branch" 为你的新功能分支。

4. 确认比较和合并的分支信息无误后,点击相应的按钮来创建 Pull Request。

5. 填写相关的 PR 描述、标题等信息,然后提交 Pull Request。

6. 三方框架的人员会对您的pull request代码进行review,如果合格,会把你的分支合并到主分支里。【做为全宇宙的一名开发者,你应该很兴奋】

这样,你就向目标三方仓库提交了一个 Pull Request,请求他们将你的新功能分支合并到他们的远程分支中。之后,目标仓库的所有者或管理员就可以对你的 PR 进行审查、讨论,并决定是否接受并合并你的更改。

再去三方框架的仓库关注你的提交状态

标签:三方,git,仓库,github,upstream,远程,分支
From: https://www.cnblogs.com/lori/p/17879622.html

相关文章

  • git操作记录
     gitconfig--globaluser.name"zxk" gitconfig--globaluser.email"[email protected]"cdlearngit/[email protected]:1880/zxk/learngit.git[zxk@node01learngit]$gitclonehttp://10.33.22.6:1880/zxk/le......
  • 关于 第三方Cookie 的学习
    1、什么是第三方cookie?1.1第一方Cookie(first-partycookie)用户登录的身份凭证cookie,由用户当前浏览的网站进行管理,用于记录用户的登录状态和账号情况,如,每次重新打开窗口后不必再次登录、购物车中加入的物品不会失效。1.2第三方cookie(third-partycookie)第三方Cookie主要用于......
  • 不要用第三方日志包了Microsoft.Extensions.Logging功能就很强大
    在.NET中,Microsoft.Extensions.Logging是一个广泛使用的日志库,用于记录应用程序的日志信息。它提供了丰富的功能和灵活性,使开发人员能够轻松地记录各种类型的日志,并将其输出到不同的目标,包括日志文件。本文将详细介绍Microsoft.Extensions.Logging的各种基础功能以及如何按天生成......
  • 见证雷池成为 GitHub 全球第一的 WAF 项目
    雷池(SafeLine)是长亭科技耗时近10年打造的WAF,由长亭独创的智能语义分析算法驱动。雷池与开源社区早在2016年,长亭就开源了雷池的语义分析算法自动机引擎,后续又陆续开源了雷池相关风控插件的和引擎通信协议。雷池的商业版本自发布以后就受到各大咨询机构和诸多头部企业的认......
  • git fatal: bad object refs/heads 解决方案
    问题描述解决方法第一种把.git\refs\remotes\origin\下出问题的分支名称删除掉第二种把.git\refs\heads\下出问题的分支名称删除掉再次执行gitpull--rebase即可解决。......
  • 见证雷池成为 GitHub 全球第一的 WAF 项目 ,(转自雷池微信公众号)
    见证雷池成为GitHub全球第一的WAF项目原创雷池开发者团队[CTStack安全社区](javascript:void(0)......
  • 使用Slurm集群进行分布式图计算:对Github网络影响力的系统分析
    本文分享自华为云社区《基于Slurm集群的分布式图计算应用实践:Github协作网络影响力分析》,作者:yd_263841138。1.引言Slurm(SimpleLinuxUtilityforResourceManagement)是一个针对小型Linux集群的开源、容错、高可扩展的集群管理及作业调度系统,它具备统一管理集群内的计算资源......
  • 【译】使用 GitHub Copilot 编写 Git 提交
    在花费数小时修复bug或更新特性之后,我们开发人员最不愿意做的事情往往是仔细说明Git提交的内容。最新的VisualStudio预览版可以帮到您。使用新的生成Git提交消息特性来帮助您描述变更集。然后,您可以用“why”进行更改来细化消息并提交。生成有用且信息丰富的提......
  • Git命令行常用指令速查
    Git本地和远端的交互CommandUsagegitbranch-vv查看本地各分支和它们关联的远端分支gitbranch--set-upstream-to=origin/<remote_branch_name>关联本地指定分支和远端指定分支gitbranch--unset-upstream取消关联gitcheckout-b<loc......
  • VSCode的git账户重置
    https://blog.csdn.net/JohnJim0/article/details/111148923使用VSCode想要在电脑上换一个git账户pull/push,有那种保存多账号方法,但是也可以直接重置,gitconfig--global--unsetcredential.helpergitconfig--global--unsetuser.namegitconfig--global--unsetuser.......