github 修改fork的代码之后如何提交代码并pull request
官方的解释还是有点模糊,我是参照这篇文章来的。
http://www.linuxidc.com/Linux/2012-12/76922.htm
关于Git的版本管理的原理,我是从这篇文章里面学习的。
http://wenku.baidu.com/view/78898a1fa76e58fafab00377.html
下面我来总结一下如何在github上面将他人的项目拷贝到自己的本地,修改代码之后重新上传到自己的项目主页,同时通知原项目开发者。
1.安装git工具
- >sudo apt-get update
- >sudo apt-get install git
2.Fork一个项目到自己的主页
在想要fork的页面fork一个。
3.克隆一个拷贝到自己的主机上
在我们fork出来的自己的主页上拷贝http clone的地址,在本地的机子上运行如下命令将自己主页代码库中的代码文件拷贝到本机上的文件夹来。
- >git clone 'http clone 的地址'
一般clone下来的文件夹都会在本地的用户的主目录下面。所以直接在终端输入cd命令加上项目名称即可进入项目文件夹中。
4.配置本地库与原始库的关联
进入我们的项目文件夹:
- >cd projectName
添加与原始库的关联,命名为upstream,此地址是原项目开发者的项目主页上的clone的地址:这是专门用来与主开发者保持相同进度的方法:
- >git remote add upstream ’clone地址‘
从原始库中抓取最新的更新
- >git fetch upstream
5.在本地修改代码文件并PUSH
在本地修改完文件测试完成之后,将代码提交到我们自己的fork出来的项目主页。
- git commit -a -m ’更新原因'
- git push 'fork出来的地址‘
通过这两个命令就可以将我们的修改发送到我们的fork主页上去,但是,这个时候项目的开发者还不知道我们的修改,通过下面的步骤可以通知开发者。
6.发送pull request给主开发者
在项目主页上
代码目录左上方有如图所示的图表,点击绿色的图标,然后就可以比较你的版本和源中代码的差别,然后就可以选择发送一个Pull request给主开发者,添加修改的原因描述。然后就等待主开发者去merge了。
7.抓取原始库最新的更新
抓取原数据库的更新,我们需要使用是git fetch upstream命令。这命令会自动选择更改过的代码文件进行更新。
github 修改fork的代码之后如何提交代码并pull request的更多相关文章
- 关于github在mac 10.10上无法提交代码的解决办法---备用
接下来是正文:本文主要说明在mac 10.10版本下github无法提交代码的问题 首先如果你是一个用终端提交代码的,你可以不用看这篇文章了,这篇文章主要是用于解决github客户端提交代码的问题,此 ...
- 如何在github上fork一个项目来贡献代码以及同步原作者的修改
[-] 如何贡献自己的力量 如何让自己的项目与原作者的项目保持同步 作为一个IT人,通过github进行学习是最快的成长手 段.我们可以浏览别人的优秀代码.但只看不动手还是成长得很慢,因此为别人贡献代 ...
- 【转】如何在github上fork一个项目来贡献代码以及同步原作者的修改 -- 不错
原文网址:http://www.cnblogs.com/astwish/articles/3548844.html 作为一个IT人,通过github进行学习是最快的成长手段.我们可以浏览别人的优秀代码 ...
- GitHub上fork一个项目贡献代码以及同步原作者的修改【转】
如何贡献自己的力量 首先你总得有自己的github帐号吧,注册一个,非常简单,只需用户名,邮箱,密码,邮箱只是用来找回密码的,不做验证.因此注册后立即能用!比如我现在新注册一个叫JsLouvre的示范 ...
- Git如何fork别人的仓库并作为贡献者提交代码
例如 要fork一份google的MLperf/inference代码,下面介绍具体做法:预备知识git里的参考有几种表示,分别是上游仓库,远程仓库和本地仓库,逻辑关系如下拉取代码的顺序:别的大牛的代 ...
- github提交代码contributions不显示小绿块
问题描述: 最近发现一个问题就是不管是提交新增的代码还是修改后提交的代码在github的contributions上都不显示贡献小绿块. 于是我在 github help 里面找到了答案: 官方链接如 ...
- Git使用、Git配置、Git提交代码、Git上传
非教程,只是自己的一个简单笔记.建议没有入门的朋友,直接看git的官方help文档: https://help.github.com/articles/set-up-git 1.注册一个git账号,超 ...
- 为什么Github要把代码合并请求称为pull request而不是push request?
问题: 我的理解是:我做了一些修改,我请求把我的修改push到你的仓库,然后你review一下我的代码,如果没问题就接受请求merge,这样的话叫做push request岂不是更合适?因为这个操作是 ...
- sonarQube Github pull request扫描代码
参考官方地址:https://docs.sonarqube.org/display/PLUG/GitHub+Plugin 运行环境:sonarQube6.2 + sonarScanner2.8 近来, ...
随机推荐
- iOS,破冰!
首发:个人博客,更新&纠错&回复 iOS,破冰! 今年学的技术,以iOS自学为成本最高昂:花几千块买了台mac mini电脑,又前后买了6本书籍,从头到尾是30天时间,当然,这30天里 ...
- /etc/passwd /etc/shadow
一./etc/passwd/etc/passwd 文件是一个纯文本文件,每行采用了相同的格式: name:password:uid:gid:comment:home:shell name 用户登录名 ...
- 161117、使用spring声明式事务抛出 identifier of an instance of
今天项目组有成员使用spring声明式事务出现下面异常,这里跟大家分享学习下. 异常信息: org.springframework.orm.hibernate3.HibernateSystemExce ...
- 160907、CSS 预处理器-Less
CSS 预处理器是什么?一般来说,它们基于 CSS 扩展了一套属于自己的 DSL,来解决我们书写 CSS 时难以解决的问题: 语法不够强大,比如无法嵌套书写导致模块化开发中需要书写很多重复的选择器: ...
- React笔记_(5)_react语法4
ajax 数据应用场景 在真实的开发环境中,拿到了产品需求,第一件事不是逼着后台开发人员先完成,然后前端再介入开发,这样太浪费时间. 正确的做法是跟后端人员先商量好接口名称,请求参数,返回的数据格式等 ...
- CDN流量放大攻击思路
首先,为了对CDN进行攻击,我们必须清楚CDN的工作原理,这里我们再来简单介绍一下CDN的工作模型. CDN的全称是Content Delivery Network(内容分发网络),通过在网络各处的加 ...
- jQuery DataTable-JavaScript API
虽然大多数时候你的Javascript交互将通过使用datatable初始化对象作为描述在使用这个网站的部分,有时,你会发现它有用一些外部控制表.可以使用以下函数从jQuery.dataTable对象 ...
- UserSelector兼容
1.更新到asp.net2.0或以上,将Microsoft.Web.UI.TreeView更换为新的System.Web.UI.WebControls.TreeView 2.将UserId,UserT ...
- 快速搭建Redis缓存数据库
之前一篇随笔——Redis安装及主从配置已经详细的介绍过Redis的安装于配置.本文要讲的是如何在已经安装过Redis的机器上快速的创建出一个新的Redis缓存数据库. 一.环境介绍 1) Linux ...
- css缩写
颜色: 16进制的色彩值为六位数,如果每两位的值相同,可以缩写一半. 如:#000000=#000: #223344=#234: 盒子的尺寸: 如margin:value; 一个值表示所有边,两个值表 ...