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 ...
数据访问层采用Mybatis,同时引入了通用Mapper和PageHelper插件,可快速高效的对单表进行增删改查操作,消除了大量传统XML配置SQL的代码;安全框架采用时下流行的Apache Shiro,可实现对按钮级别的权限控制;前端...
名称:Better Pull Request for GitHub -------------------- 版本:1.0.37 作者:Tal Bereznitskey 分类:开发者工具 -------------------- 概述:将文件树添加到 GitHub 拉取请求。 通过文件树视图和其他 UX 改进...
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它将打开一...
github-FE-project, A collection about github front-end project
用法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上的项目贡献代码准备一个fork和本地存储库以对GitHub上的上游项目做出更改在GitHub上分叉项目从远程存储库克隆本地存储库将本地存储库连接到远程存储...
前端开源库-pull-request通过Github API拉请求、分叉、提交和拉请求
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最新版本,以确保...
example-cli-github-action-pull-request pull_request事件的CLI设置示例 示例应用 基本的Webpack设置: Javascript :使用@babel/preset-env和@babel/preset-react CSS : postcss ( autoprefixer , cssnano ...
在github上禁用合并wip-pull请求 当“拉取请求”的标题在GitHub上包含“ WIP”时,禁用“合并拉取请求”按钮。
GitHub 的 PullRequest 抑制器 抑制对其他存储库的 PullRequest 如果你正在开发分叉仓库,你不用担心一个错误的 PullRequest 到其他仓库 选项
git-pull-request:通过命令行发送git pull请求
目录细节用法安装npm npm i @technote-space/github-action-pr-helper 纱yarn add @technote-space/github-action-pr-helper 使用import { run } from '@technote-space/github-action-pr-helper' ;run ( {action...
git pull-request 自动将github提取请求检入到自己的分支中。安装将脚本复制到PATH某个位置并使其可执行。 将github.token设置为您的github OAUTH令牌,即git config --global github.token OAUTH-TOKEN 如果需要...
该脚本是本人写的一个小脚本,只要有对方的用户名可以方便快捷获取该账号在github中的start和fork数,欢迎大家下载;