转载https://www.cnblogs.com/patchouli/p/6511251.html

由于git的权限控制功能比较弱,如果想给某个项目提供代码除了直接获得项目的push权限外,github另外提供了pull request的方式来进行协作。这种方式请求仓库拥有者拉自己的代码,而不需要仓库的权限。
首先,进入上游仓库,点击下图中红框内的fork,通过fork的方式在自己的仓库里建立一个项目。

回到仓库就能看到自己fork的项目,并可以看到项目是从哪个仓库fork来的。这个仓库的使用方法和我们自己的仓库一样。
如果在我们提交前,上游仓库更新了,我们可以在仓库中看到下图中的提示:“This branch is 5 commits behind nusubmarine:master.”。表示我们fork的那个分支和我们仓库的当前分支比向前了5个提交。

我们想要和上游仓库的代码保持同步更新的话,可以从上游仓库那里把那个拉过来。点击下面红框中的pull request。

进入到下面的页面。如果我们没有要提交的内容,会直接提示:“Try switching the base for your comparison.”。如果因为自己仓库里有改动,没有这个提示,自己交换两个比较分支的位置。

交换后,就会变成我们拉上游仓库的分支,点击红框中的按钮创建一个请求。

填写提交的注释,自己在查看历史的时候会比较好理解。

确认后显示如下内容,表示可以和上游仓库同步。之后点下方的merge pull request进行合并,并确认。

最后,我们自己仓库里的代码完成,就需要向上游仓库发一个pull request了。过程和上面相似,只是不用在交换分支,,最后一步和上图有所区别,不是合并而是提交,之后可以在提交历史里看到自己的提交,等上游仓库拥有者同意就可以了

github中fork的使用的更多相关文章

  1. github中fork分支和pullrequest的最佳实践

    github中fork分支和pullrequest的最佳实践 */--> code {color: #FF0000} pre.src {background-color: #002b36; co ...

  2. 出于迁移项目的考虑,GitHub 中 Fork 出来的项目,如何与原项目断开 Fork 关系?

    如果需要为 GitHub 上的项目做贡献,我们通常会 Fork 到自己的名称空间下.在推送代码之后添加 pull request 时,GitHub 会自动为我们跨仓库建立 pull request 的 ...

  3. GitHub中Fork来的仓库如何进行双向更新

    一.做点贡献 想对别人的某个仓库"做点贡献"怎么办? 1. Fork该仓库 首先Fork该仓库,本文以git-learn这个仓库为例 这样自己的账号下就会出现这样一个仓库 2. C ...

  4. [转]五步git操作搞定Github中fork的项目与原作者同步

    命令如下: git clone xxx-fork.git git remote add xxx xxx.git git fetch xxx git merge xxx/master git push ...

  5. Github中进行fork后,原仓库更新了如何与原仓库同步

    我们经常在Github中Fork别人优秀的项目(在自己的GitHub下面生成一个repository),如果原仓库作者或组织更新仓库,此时你Fork的项目并不会更新,如果我们想要更新操作,该如何操作? ...

  6. github中的watch、star、fork的作用

    [转自:http://www.jianshu.com/p/6c366b53ea41] 在每个 github 项目的右上角,都有三个按钮,分别是 watch.star.fork,但是有些刚开始使用 gi ...

  7. 【github&&git】1、github中的watch、star、fork的作用

    [转自:http://www.jianshu.com/p/6c366b53ea41] 在每个 github 项目的右上角,都有三个按钮,分别是 watch.star.fork,但是有些刚开始使用 gi ...

  8. 如何用好 github 中的 watch、star、fork

    http://www.jianshu.com/p/6c366b53ea41 https://www.zhihu.com/question/20431718 在每个 github 项目的右上角,都有三个 ...

  9. github中origin和upstream的区别(转)

    Fork,本身并不是git工具中的一个命令,也不是对git的扩展,它是在GitHub上的概念,是另一种clone方式——在服务器端的clone.而我们通常意义上的clone,是将远程repo 复制一份 ...

随机推荐

  1. acm 2001

    格式化输出 //////////////////////////////////////////////////////////////////////////////// #include<i ...

  2. Go Example--锁

    package main import ( "fmt" "math/rand" "runtime" "sync" &qu ...

  3. Go Example--值运算

    package main import "fmt" //通过import导入fmt标准包 func main() { //+号可以用做连接字符串 fmt.Println(" ...

  4. Oracle 11g direct path read 等待事件的理解

    在Oracle 11g中,全表扫描可能使用direct path read方式,绕过buffer cache,这样的全表扫描就是物理读了. 在10g中,都是通过gc buffer来读的,所以不存在di ...

  5. Babelfish 开源通用代码解析服务

    Babelfish 是一个开源的代码解析服务 参考架构 支持的语言 bash go java javascript php ruby c++ typescript 功能 我们可以使用此工具,进行大规模 ...

  6. lapis 1.7.0 更好的openresty 版本兼容以及安全数据库支持

    lapis 1.7.0 今年4月2号就发布了,一直没有注意,今天看到changelog就简单的进行了一个 测试(主要是与openresty版本的测试,新变更后边会有) 使用docker-compose ...

  7. What are User and Group Permissions

    https://www.linode.com/docs/tools-reference/linux-users-and-groups/ What are User and Group Permissi ...

  8. Dev TextEdit 输入提示

    TextEdit.Properties.NullValuePromptShowForEmptyValue = true; TextEdit.Properties.NullValuePrompt = “ ...

  9. asyn proposals

    Objective:

  10. oauth2 java 代码示例

    @RequestMapping("/oauth") @Controller public class OauthController { String clientId = &qu ...