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. Anroid ActionBar 学习资源

    Android ActionBar完全解析,使用官方推荐的最佳导航栏(上) http://blog.csdn.net/yuzhiboyi/article/details/32709833 Androi ...

  2. 使用adb工具调试出现error:device offline

    使用adb工具调试设备的时候会出现error:device offline,网上找了很多办法,最后终于解决了. 如果你也遇到这样的问题,先试试简单的办法,不行的话,试试这个..<.< ad ...

  3. javascript点击兼容所有浏览器封装

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. kvm虚拟化之kvm虚拟机vnc配置

    本文是通过vnc方式访问虚拟主机上的KVM虚拟机.    这里的通过vnc方式访问虚拟机不是在kvm虚拟机安装配置vnc服务器,通过虚拟主机的IP地址与端口进行访问,kvm虚拟化对vnc的支持相对来说 ...

  5. hdu3698 Let the light guide us(dp+线段树)

    题意:在每行上选一个点,每个点都要各自对应的代价,同时相邻两行的点要满足 |j-k|≤f(i,j)+f(i+1,k).问最小代价是多少. 题解: 不难发现这是一道dp,状态转移方程如下$dp[i][j ...

  6. 7,CountDownLatch 与 CyclicBarrier 的 区别

    CountDownLatch : 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 用给定的计数 初始化 CountDownLatch.由于调用了 countDo ...

  7. Postman使用手册2——管理收藏

    一.开始使用收藏夹 收藏夹会使你的工作效率更上一层楼 收藏夹可以让单个的request分组在一起,这些request可以被进一步的管理到文件夹来更准确的反应你的API.request也可以在保存到收藏 ...

  8. freemarker模板跟java代码放在一起

    在配置 freemarkerConfig时加上 <property name="templateLoaderPath" value="classpath:hello ...

  9. 动态sql语句和动态传入参数个数

    1.可以将要传入的几个参数封装成一个实体类,然后将实体类作为一个参数传入到相应的方法中,这时候就需要这sqlMapper.xml文件中对传入的字段利用<if test=""& ...

  10. thinkphp3.2----实现伪静态和路由配置

    URL模式: 0.普通   http://localhost/qixin/ThinkCMF(test)_backup/index.php?g=user&m=login&a=index ...