Github提交PullRequest工作流程:

以Kubernetes为例

1.   Fork Kubernetes到自己的Github目录

访问:https://github.com/kubernetes/kubernetes

点击Fork,就可以在自己的Github目录下找到kubernetes这个项目了。

这里以https://github.com/edisonxiang/kubernetes为例。

2.   下载代码到本地工作目录

git clone https://github.com/edisonxiang/kubernetes.git

3.   设置代码的UpStream原始目录

cd kubernetes

git remote add upstream https://github.com/kubernetes/kubernetes.git

# Never push to upstream master
git remote set-url --push upstream no_push

# Confirm that your remotes make sense
git remote -v

4.   在本地获取最新的UpStream版本

cd kubernetes

git fetch upstream

git checkout master

git rebase upstream/master

5.   分支新branch并提交修改(类似OpenStack社区)

cd kubernetes

# Add new branch myfeature

git checkout -b myfeature

# Add Commit Message File

vi .git/message

# Add User Email and User Name

git config --global user.email "xiang.edison@gmail.com"

git config --global user.name "edisonxiang"

# Add or Modify files in kubernetes

......

# 提交到Git本地

git add .

# 完成Commit

添加:git commit -a -F .git/message  

修改:git commit --amend -a -F .git/message

修改:git commit -m "Modify some thing"

# 输入Github用户名和密码提交本地的修改到自己的Github项目中

git push -f https://github.com/edisonxiang/kubernetes myfeature

# 更新本地代码到个人仓库

git push origin master

  # 删除个人仓库的分支

  git push origin :myfeature

  # Rebase未合入的PR到个人仓库

  git fetch upstream pull/56136/head:BRANCHNAME

  # 有时需要将琐碎的多个commit结合起来形成这一个需求的完整commit。

  # 这时就需要使用git squash来整理压缩message。

  git log 查看下日志,并判断需要将多少个日志合并

  git rebase -i HEAD~6 把顶部的六个版本聚到一起进入编辑页面

  把需要压缩的日志前面的pick都改为s(squash的缩写)

  注意必须保留一个pick,如果将所有的pick都改为了s那就没有合并的载体了就会报如下错误

  依次输入CTRL+X Y ENTER三个命令完成编辑。

  最后Git Push orgin branchname

# Cancel current local changes

  git checkout .

  git checkout localfile

6.   访问自己的Github项目创建Pull Request

访问自己的Github地址:https://github.com/edisonxiang/kubernetes

在新上传的Branch上,点击Compare & Pull Request按钮创建一个Pull Requst

最后在https://github.com/kubernetes/kubernetes/pulls就可以找到刚刚提交的Pull Request。

Github提交PullRequest的更多相关文章

  1. github提交代码时,报permission denied publickey

    在像github提交代码时,报permission denied publickey. 查找了一下,可能是因为github的key失效了. 按照以下步骤,重新生成key. ssh-keygen 一路默 ...

  2. 代码规范、GitHub提交源码的标准 答题人-杨宇杰

    1.格式与命名规范1.1 缩进 使用Tab缩进,而不是空格键1.2 换行 每行120字符 if,for,while语句只有单句时,如果该句可能引起阅读混淆,需要用" {"和&quo ...

  3. 详细介绍如何在win7下首次实现通过Git bash向Github提交项目

    详细介绍如何在win7下首次实现通过Git bash向Github提交项目 引自:http://jingpin.jikexueyuan.com/article/35944.html 作者: wddoe ...

  4. github 提交报403 forbidden的错误解决

    github 提交报403 forbidden的错误解决 $ git push error: The requested URL returned error: 403 Forbidden while ...

  5. 向GitHub 提交你的源代码

    之前的这篇文章「Git入门篇」相信大家都已经对 Git 的基本操作熟悉了,但是这篇文章只介绍了对本地 Git 仓库的基本操作,今天我就来介绍下如何跟远程仓库一起协作,教你们向 GitHub 上提交你们 ...

  6. 使用Android Studio向GitHub提交代码

    使用Android Studio向GitHub提交代码 在GitHub上创建一个仓库 填写仓库名称.描述.类型(公有.私有)等信息,点击创建 到此,成功创建了我们的仓库,并且初始化创建了README. ...

  7. 向Github提交代码时遇到的一些问题

    今天分享一下我的一些小经验,那就是向github提交我们的代码.之前一直是直接使用的浏览器完成的代码的下载任务,没有使用过客户端,为了让自己在工作之前熟练使用GitHub,所以就有了下面的这篇博文了. ...

  8. GitHub 系列之「向GitHub 提交代码」

    1.SSH 你拥有了一个 GitHub 账号之后,就可以自由的 clone 或者下载其他项目,也可以创建自己的项目,但是你没法提交代码.仔细想想也知道,肯定不可能随意就能提交代码的,如果随意可以提交代 ...

  9. Vue.js示例:GitHub提交(watch数据,created钩子,filters过滤); 网格组件(功能:1.检索,2排序);

    GitHub提交 codePen:   https://codepen.io/chentianwei411/pen/wEVPZo 注意:频繁看案例,可能会被限制. 重点: 表单输入绑定, 单选按钮的使 ...

随机推荐

  1. Introduction mybatis

    项目地址 https://github.com/mybatis/mybatis-3 英文官网 http://mybatis.github.io/mybatis-3/ 中文官网 http://mybat ...

  2. SpringMVC源码解读 - RequestMapping注解实现解读 - RequestMappingInfo

    使用@RequestMapping注解时,配置的信息最后都设置到了RequestMappingInfo中. RequestMappingInfo封装了PatternsRequestCondition, ...

  3. XJOI 3605 考完吃糖(DAG图dfs)

    题目描述: 期末考试考完了,分数也出来了,大家准备吃糖庆祝一下,为了鼓励同学们下学期能取得更好的成绩,司马红豆同学让n个同学站成一排,如果某个同学的分数比相邻的一个同学要高,那么他得到的糖果就会比这个 ...

  4. vmware中安装centos 6.7

    centos 6.7 软件下载地址:http://b.mirrors.lanunion.org/CentOS/6.7/isos/i386/ 引用:http://www.cnblogs.com/sees ...

  5. Data Base Oracle 常用命令

    Data Base  Oracle 常用命令 1.登录:(不需要密码,属于管理员权限) conn /as sysdba; 2.查看数据库存储位置: select name from v$datafil ...

  6. c# 用户输入一个字符串,求字符串的长度

    C#  用户输入一个字符串,求字符串的长度使用字符串的length: class Program { static void Main(string[] args) { Console.WriteLi ...

  7. 【QTP专题】02_时间同步点问题

    一.什么是同步点 同步点是指在一个测试过程中,指示QuickTest等待应用程序中某个特定过程运行完成以后再运行下一步操作.Waits until the specified object prope ...

  8. mongodb工具类

    pom.xml文件增加Mongodb jar包 <dependency> <groupId>org.mongodb</groupId> <artifactId ...

  9. binlog2sql

    从MySQL binlog解析出你要的SQL.根据不同选项,你可以得到原始SQL.回滚SQL.去除主键的INSERT SQL等. 安装 shell> git clone https://gith ...

  10. 17、xtrabackup 常用备份功能与选项

    并行备份 > innobackupex -p123123 --parallel=8 /backup 节流备份 > innobackupex -p123123 --throttle=200  ...