Pull Request在Forking工作流中使用,这个也同样适用于小团队的开发协作和第三方开发者向开源项目的贡献。当你要发起一个Pull Request时,你要做的就是请求项目维护者来pull你仓库中的某个分支到他的仓库中,这就意味着你要提供四个信息 (源仓库、源分支、目的仓库、目的分支)
第一步:Fork源项目
比如说,小红要fork小明的Bitbucket仓库,那么首先,小红要先登录Bitbucket,浏览到小明的仓库页面,点击Fork按钮,为fork出来的仓库填写名字和描述,这样就有了服务端的项目拷贝了。
第二步:Clone仓库
小红要clone刚刚fork出来的Bitbucket仓库,可以使用以下指令:
git clone https://user@bitbucket.org/user/repo.git
这时git clone就会自动创建origin远程别名,这个远程别名指向小红fork出来的仓库
第三步:创建新分支
在对代码进行修改之前,要新建一个新分支,所有的改动都在这个分支上,这个分支会作为pull request的源分支。
git checkout -b some-feature
第四步:提交修改
使用git commit和git push将代码提交到自己的Bitbucket仓库中,具体指令如下:
git commit -a -m "Add first draft of some feature"
git push origin some-branch
这时她的变更就可以让项目维护者或其他协作者看到了
第五步:发起Pull Request
Bitbucket 上有了小红的功能分支后,小红可以用她的Bitbucket账号浏览到她fork出来的仓库页面,点击右上角的Pull Request按钮,就可以发起一个Pull Request请求。弹出的表单自动设置小红的仓库为源仓库,询问小红以指定源分支、目标仓库和目标分支。
创建好Pull Request后,通知会通过Bitbucket系统消息或邮件发给小明。
第六步:Pull Request发送之后
一旦从小红的branch里推送了一条Pull Request,那么这条Pull Request在关闭之前,再次在这个branch里面push代码,所有的commits都会被自动追加到这个Pull Request后面。
这一点很重要,如果小红最初提交的代码里有某些问题,项目维护者要求你再修改,或者要求给你的新feature添加一条相应的unit test,你只要追加commits到你的branch中即可。
第七步:关闭Pull Request
如果是已经被merge后关闭的Pull Request,你可以在页面的最下方找到一个“Delete this branch”的蓝色按钮。
这表明这个主题branch的历史使命已经完成(fix-unicode-error的commit已经被合并到主项目中),可以安全地从远程库中删除了。
 

Bitbucket Pull Request和fork的更多相关文章

  1. github Pull Request合入全流程介绍

    图解全流程 详细步骤 1. fork仓库 2. clone fork仓库到本地 3. 关联upstream原仓库 在fork本地仓库输入下面命令进行关联: git remote add upstrea ...

  2. 如何将 Bitbucket 的 pull request 签出到本地 review

    将 pull request 签出到本地进行 review, 最大的好处是可以通过 IDE 来查找各种变量和方法的上下文引用,以便充分发挥我们杠精的本领,将 pull request 中的各种合理和不 ...

  3. github 修改fork的代码之后如何提交代码并pull request

    官方的解释还是有点模糊,我是参照这篇文章来的. http://www.linuxidc.com/Linux/2012-12/76922.htm 关于Git的版本管理的原理,我是从这篇文章里面学习的. ...

  4. git fork后提交pull request到原作者,别人的pull request我们要怎样merge融合

    首先要记住,pull request 不是随便提交的,这是建立在你对原作者的项目有fork,并对项目中的代码有修改,并提交到了你的GitHub上,才能进行下面的操作. 若不知怎样fork项目,请看我的 ...

  5. git fork , git pull request那回事

    git fork 原理 相当于你在原项目的主分支上又建立了一个分支,你可以在该分支上任意修改,如果想将你的修改合并到原项目中时,可以pull request,这样原项目的作者就可以将你修改的东西合并到 ...

  6. Git工作流指南:Pull Request工作流

    参考地址:http://blog.jobbole.com/76854/ Pull Requests是Bitbucket上方便开发者之间协作的功能.提供了一个用户友好的Web界面,在集成提交的变更到正式 ...

  7. Git - Pull Request工作流

    Pull Requests是Bitbucket上方便开发者之间协作的功能.提供了一个用户友好的Web界面,在集成提交的变更到正式项目前可以对变更进行讨论. 开发者向团队成员通知功能开发已经完成,Pul ...

  8. GIT团队合作探讨之二--Pull Request

    pull request是github/bitbucket给开发人员实现便利合作提供的一个feature.他们提供一个用户友好的web界面在进代码之前来讨论这些变更. 简单说,pull request ...

  9. github的pull request是指什么意思?有什么用处

    github的pull request是指什么意思? 来看看某乎某位阿牛的理解,多么的简单粗暴! 我尝试用类比的方法来解释一下 pull reqeust.想想我们中学考试,老师改卷的场景吧.你做的试卷 ...

随机推荐

  1. 压缩代码加速ecshop程序页面加载速度

    由于页面有很多图片,页面加载速度有点慢,本来打算减小图片的体积,后来想想这个后期还得测试下,所以暂时不打算使用google的图片优化工具,先把ecshop生成的html代码压缩下吧 压缩前:首页体积为 ...

  2. 第一个CUDA程序

    开始学CUDA 先写一个简单的 #include<iostream>__global__ void add( int a, int b, int *c ) { *c = a + b;}in ...

  3. NDK_ROOT找不到的解决方法 MACOS

    只要在Eclipse上进行配置就行了,看图说话  

  4. hibernate配置文件详细解释

    <!--标准的XML文件的起始行,version='1.0'表明XML的版本,encoding='gb2312'表明XML文件的编码方式--> <?xml version='1.0' ...

  5. java.lang.NullPointerException: Attempt to invoke virtual method 'void 、Handler.removeMessages(int)' on a null object reference

    onDestory进行释放Handler时,需要判断null if(null != mHandler) {             mHandler.removeMessages(MSG_CHANGE ...

  6. 解决cocos2d-X 2.0版本后创建的Android项目提示org.cocos2dx.lib.Cocos2dxActivity找不到问题

    原地址: http://blog.163.com/zhoulong19880518@126/blog/static/6070970220132511558143/ 解决方法:    复制 ***\co ...

  7. Wordpress 网站搭建及性能监控方法详解!

    前言 说到 Wordpress,大家往往想到的是博客,其实,如今的 WordPress 已经成为全球使用量最多的开源 CMS 系统.并且,如果你有一定的技术基础稍加改动,就可以搭建出新闻网站.企业网站 ...

  8. ANDROID_MARS学习笔记_S02重置版_001_Hander\Looper\Message\Thread\ThreadLocal

    一. * class LooperThread extends Thread { * public Handler mHandler; * * public void run() { * Looper ...

  9. 【Xamarin挖墙脚系列:Xamarin.Android的API设计准则】

    原文:[Xamarin挖墙脚系列:Xamarin.Android的API设计准则] 前言 楼主也是看着Xamarin的官方文档来的.基本也是照猫画虎.英语勉强凑合.翻译的不对的地方,大家多多指教.(这 ...

  10. Java中x+=y和x=x+y两种实现的区别

    先看下边两段代码,各有什么错? 例一: short s1 = 1; s1 = s1 + 1; 例二: short s1 = 1; s1 += 1; 第一段代码无法通过编译,由于 s1+1 在运算时会自 ...