Fork + Pull模式
参与GitHub中的项目开发,最常用和推荐的首选方式是“Fork + Pull”模式。在“Fork + Pull”模式下,项目参与者不必向项目创建者申请提交权限,而是在自己的托管空间下建立项目的派生(Fork)。
如果一个开源项目派生出另外的项目,通常意味着项目的分裂和开发团队的削弱,而GitHub中的项目派生则不会,而且正好相反,GitHub中的项 目派生是项目壮大的体现。所有的派生项目都会有链接指向原始项目,派生项目没有独立的缺陷追踪系统(ISSUE),而是必须利用创建者本人的项目中的缺陷 追踪系统。至于在派生项目中创建的提交,可以非常方便地利用GitHub的Pull Request工具向原始项目的维护者发送Pull Request。
下面以gotgit版本库为例,用户名是gotgithub,介绍如何利用GitHub提供的Fork和Pull Request工具实现工作协同。
1. 版本库派生
如图所示,项目gotgit尚未Fork的页面。
点击项目名称右侧的Fork按钮,便在gotgithub用户自己的托管空间下创建项目派生,派生项目版本库出现在版本库列表中,如图
访问派生后的版本库,会发现和派生前的几乎相同,除了没有缺陷跟踪(ISSUE),以及标识了该项目派生之前的原路径等。如图所示。
现在gotgithub用户就在本地派生的版本库中提交。
-
克隆 gotgithub/gotgit 版本库。
$ git clone git@github.com:gotgithub/gotgit.git $ cd gotgit
- 作出某些修改,并提交。 git status, git add -A, git commit -m'your comments'
-
推送提交到GitHub。
$ git push
2.Pull Request(将Folk来的项目的提交Merge到原来的项目中)
如何能够让gotgit原始项目的创建者知道这个派生项目及新的提交呢?GitHub提供的工具就是“Pull Request”。注意到上图右上方“Pull Request”按钮了么?点击该按钮进入Pull Request创建界面。
在弹出的Pull Request创建界面中,点击菜单中的“Commits”,查看所包含的提交。
点击菜单中的“Files Changed”,查看所包含的提交。如图所示。
点击菜单中的“Preview Discussion”,填写Pull Request的标题和内容,完成Pull Request的创建。如图所示。
Pull Request 提交后,就可以打开原有的项目,会看到有相应的Merge的Request,如果冲突过多,GitHub将提醒你需要手动Merge,然后你就可以用Github提示的相关命令开始做手工的Merge。Merge完后,页面将自动刷新提示Merge已经完成。
你可能会看到如下类似的提示:
相关推荐
当使用“压缩并合并”策略时,Github将建议使用PR标题作为提交消息。 通过此操作,您可以验证PR标题将导致正确的提交消息以及随后的预期发布。验证有效的PR标题示例: 修复:正确的错字。 壮举:添加对节点12的支持...
用于校验Pull Request合并要求和Issues结构的GitHub Bot
Intellij plugin that jumps to the pull request page (or GitHub commits page) How to use Select/Choose a line Right click Click "Find Pull Request" Open the pull request page if the plugin finds ...
在分布式版本控制系统,如Git中,开发者通常会在自己的分支上工作,完成功能或修复问题后,会发起一个Pull Request到主分支(main或master),请求将这些更改合并到主线。Pull Request不仅包含了代码变更,还提供了...
- **快速访问Pull Request**:通过插件,开发者可以直接在IntelliJ IDEA中查看和打开与当前项目相关的GitHub、GitLab或Bitbucket上的Pull Request。 - **跳转到提交页面**:除了Pull Request,插件还支持跳转到...
数据访问层采用Mybatis,同时引入了通用Mapper和PageHelper插件,可快速高效的对单表进行增删改查操作,消除了大量传统XML配置SQL的代码;安全框架采用时下流行的Apache Shiro,可实现对按钮级别的权限控制;前端...
"chrome-github-pullrequest-suppressor" 是一个专为 Chrome 浏览器设计的扩展程序,它的主要功能是防止用户在 GitHub 上意外提交到其他存储库的 Pull Request。标题中的 "抑制对其他存储库的 PullRequest" 指出,这...
yarnyarn add create-pull-request --global用法// in the terminal in your project folder (default browser)create-pull-request// opens the URL in a specified browsercreate-pull-request firefox它将打开一...
名称:Better Pull Request for GitHub -------------------- 版本:1.0.37 作者:Tal Bereznitskey 分类:开发者工具 -------------------- 概述:将文件树添加到 GitHub 拉取请求。 通过文件树视图和其他 UX 改进...
在Git的工作流程中,Pull Request(PR)是一种常见的代码审查和合并机制,特别是在GitHub这样的平台中。`git-pull-request`是一个命令行工具,允许用户更加便捷地创建和管理GitHub上的Pull Requests,而无需离开终端...
在前端开发领域,开源库是...总之,"前端开源库-pull-request"是一个学习和实践GitHub API以及前端协作开发流程的好资源。熟悉这些操作不仅能够提升个人开发技能,还能更好地参与到开源社区,为项目贡献自己的力量。
用法steps : - name : Merge Pull Request uses : juliangruber/merge-pull-request-action@v1 with : github-token : ${{ secrets.GITHUB_TOKEN }} number : 1 method : squash有关的 —查找拉取请求-批准拉取请求 ...
gobump-github-pull-request 使用gobump提升您的Go项目版本的。 这一步看起来是最新的提交,如果它是拉取请求的合并,则增加源代码的版本值,并推送到master分支。配置github_token 必填项。 有效的GitHub API令牌。...
检查GitHub Pull Request是否处于(最可能)可合并状态 安装 npm install --global is-mergeable 用法 GITHUB_API_TOKEN= " $TOKEN " is-mergeable \ --owner jamiebuilds \ --repo is-mergeable \ --pull-...
在GitHub上进行协同开发时,Pull Request(PR)是一种常用的工作流程,用于将代码更改从一个分支合并到另一个分支,通常是将开发分支的更改合并到主分支。然而,在代码未完成或审查之前,我们可能不希望让其他开发者...
编辑并保存文件学习成果参加者将能够: 使用通用工作流为GitHub上的项目贡献代码准备一个fork和本地存储库以对GitHub上的上游项目做出更改在GitHub上分叉项目从远程存储库克隆本地存储库将本地存储库连接到远程存储...
merge-github-fork-用于合并fork的自动git命令 零钱! > = v2.0.0运行npm install&npm test以确保没有任何损坏 安装版本1.1.0,无npm test npm install merge-github-fork@1.1.0 -g 或运行npm test最新版本,以确保...
2. **协作**:GitHub提供了多种工具来支持多人协作,包括分支管理、合并请求(Pull Request)、代码审查等。 3. **社区**:GitHub拥有庞大的开发者社区,用户可以探索其他项目,贡献代码,或者获取灵感。 4. **...
example-cli-github-action-pull-request pull_request事件的CLI设置示例 示例应用 基本的Webpack设置: Javascript :使用@babel/preset-env和@babel/preset-react CSS : postcss ( autoprefixer , cssnano ...
这使得开发团队可以在代码合并到主分支之前自动执行测试和验证,从而保证代码质量。 首先,我们来理解什么是 GoGitHub pull request 资源。在 Concourse 中,资源是系统的核心组成部分,它们可以是代码库、容器镜像...