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

发布时间 2023-12-06 15:18:22作者: 张占岭

为github三方仓库添加贡献

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

克隆和拉取项目

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

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

  3. 设置远程 将上游设置为 git@github.com:alibaba/higress.git 使用以下两个命令:

git remote add upstream git@github.com:alibaba/higress.git
git remote set-url --push upstream no-pushing

这两句命令的作用是在git中配置远程仓库。第一条命令git remote add upstream git@github.com: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     git@github.com:<your-username>/higress.git (fetch)
origin     git@github.com:<your-username>/higress.git (push)
upstream   git@github.com: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 进行审查、讨论,并决定是否接受并合并你的更改。

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