前端见微知著番外篇:GIT舍我其谁?

在上一篇中,我们讲到了利用纯UI的软件如何实现代码的提交。但是在MAC机器上,是没有turtoiseGit这类软件的,所以利用命令行的方式就是我们的首选了。

下面我们来描述两种主要的Git使用场景:

场景一:在Git上有许多的开源系统,假如我想参与到开源软件的源码修改或者功能扩展中,利用Git的话,我们该如何做呢?

场景二:公司的代码寄托在Bitbucket上,并且针对开发团队新建了一个innovation_foundations_client的分支,开发团队需要提交代码给上级成员审核通过后,代码才能合并进去,该如何做?

其实这两种场景都可以利用如下的Git流程进行搞定。

第一步

在bitbucket中,打开项目所在的地址,利用git clone命令将代码复制到本地。这样我们在本地就创建了origin主分支。

git clone [email protected]:livemocha/advanced-english.git

第二步

我们需要建立本地与bitbucket上的代码的关联,并更新本地代码:

git fetch origin

第三步

我们去拿innovation_foundations_client分支上的代码,并对本地代码进行更新:

git checkout innovation_foundations_client

第四步

我们创建待提交的feature:

git checkout -b feature/SOMEDESCRIPTIVENAME

第五步

然后我们就可以对我们的项目进行任意的更改了,更改完毕以后,我们可以利用git status来跟踪哪些文件做了改变,对于这些改变的文件,我们可以利用git add命令将其包含到跟踪目录中。

第六步

当利用git status命令查看所做的更改都包含进来后,那么我们可以提交了:

git commit -m "SOME GOOD MESSAGE"

第七步

提交完毕以后,那么我们将其推送到远程服务器上:

git push origin feature/SOMEDESCRIPTIVENAME

注意这个feature的名称应该和之前创建的保持一致。

第八步

最后,你去bitbucket上,点击Create pull request菜单项,然后在左面选中你的feature,右面选择innovation_foundations_client,填写上comment,指定好reviewers,就可以提交了。

提交完毕以后,就可以在Pull requests菜单项中,看到自己提交的待审核的内容了。

其他

有时候,我们的本地代码没有及时更新,当我们需要更新的时候,我们可以运行 :

git pull origin master

那么就可以将远程的master主分支内容更新到本地,或者运行

git pull origin innovation_foundations_client

同样也可以将innovation_foundations_client子分支内容更新到本地。

这个需要根据项目情况而定来更新哪个,有时候两个都需要做的。

时间: 2024-12-28 17:42:50

前端见微知著番外篇:GIT舍我其谁?的相关文章

前端见微知著番外篇:Bitbucket进行代码管控

说道代码管控,一般都会提到TFS.Git等,但是在这里我们将要用到Bitbucket,其实其操作方式和Git基本上一样,但是和TFS则有很大的不同了.但是原理基本上都是一致的. 这里我不会过多的涉及到代码的签入,签入,迁移,产生branch,合并等等.我们主要讲解以下几点: 1. 由yeoman产生的项目如何进行精简,然后放入到团队开发的repository server上. 2.如何利用bitbucket进行代码管控. 首先我们来谈谈第一点. 在前面的文章中,我们利用yeoman的各种脚手架搭

编程珠玑番外篇之番外篇-O 中间语言和虚拟机漫谈(ZZ)

http://blog.youxu.info/2014/05/11/language-and-vm/ 导言 编程语言的发展历史,总的来说,是一个从抽象机器操作逐步进化为抽象人的思维的过程.机器操作和人的思维如一枚硬币的两面,而语言编译器就像是个双面胶,将这两面粘在一起,保证编程语言源程序和机器代码在行为上等价.当然,人本身并不是一个完美的编译器,不能无错的将思维表达为高级语言程序,这种偏差,即Bug.因为编译器的帮助,我们可以脱离机器细节,只关心表达思维和程序行为这一面. 编程语言的发展日新月异

Java微信公众平台开发--番外篇,对GlobalConstants文件的补充

转自:http://www.cuiyongzhi.com/post/63.html 之前发过一个[微信开发]系列性的文章,也引来了不少朋友观看和点评交流,可能我在写文章时有所疏忽,对部分文件给出的不是很完全所以导致部分同学在有些地方做开发的时候遇到了一些阻力,收到这些朋友同学们的咨询反馈之后我也做了一些反思和总结,其中一部分同学说少了GlobalConstants这个文件(这个真心占的不少),还有一部分就是说源码的问题,所以今天特意抽了时间补充下这两点! (一)关于GlobalConstants

(apache+tomcat集群+memcached番外篇)单台tomcat的session信息的2种持久化方式

为什么要实现搭建tomcat集群环境呢?主要因为单个tomcat无论从吞吐量和并发数上,会达到一定的极限.如果访问量超过单个tomcat的承受能力的话,tomcat一般要么拒绝提供服务,要么直接宕掉.所以,必须要依靠tomcat集群技术.举个最简单的例子,拿"送快件"比喻,如果一个人,5分钟送一件,一小时之内,送10个,一个人完全能胜任这项工作.假设现在到了双十一,要求1小时,送100个, 那怎么办?只能安排更多的人加入"送快件"这项工作中来.这其实和集群一个道理.

【喵"的Android之路】【番外篇】有关于null的一些知识点

[喵"的Android之路][番外篇]有关于null的一些知识点 1.首先,到底什么是null? null是Java中的一个关键字,用于表示一个空对象引用,但其本身并不是任何类型也不是属于任何对象.因此,下面的做法是错误的: int a = null; 但: Object obj = null; 是可以的,因为null表示Object类型的一个空对象引用,符合其用意. [注1]引用类型使用null声明对象变量后,无法使用该变量访问对象的成员.例如上述obj对象如果使用obj.toString()

可视化(番外篇)

本篇主要介绍如何在SWT下构建一个应用,如何安装SWT Designer并破解已进行SWT的可视化编程,Display以及Shell为何物.有何用,SWT中的常用组件.面板容器以及事件模型等. 1.可视化环境搭建(SWT Designer): (1).首先下载SWT Designer插件包SWT Designer 6.9.5 for Eclipse.rar: (2).将解压好的插件包extplugins\swt\eclipse下的features和plugins导入Myeclipse的dropi

《Mycat学习笔记》 番外篇一.客户端使用latin1字符集,后端MySQL为UTF8字符集,MyCat日志分析。

其实这个番外篇比较无聊——即客户端为lantin字符集,后面MySQL为U8字符集,MyCat在中间到底会起什么作用. 再说下本次验证的环境: Mac OS 10.11.2 MySQL 5.6 MyCat 1.5 OK,开始我们的验证工作. 1) 由于数据库与操作系统已被默认设置为U8编码,计划通过修改Mysql  “character_set_client” 参数调整客户端字符集配置进行验证. 关于MYSQL字符集较全面的介绍,请参考 <mysql_query("set names gb

【喵&quot;的Android之路】【番外篇】关于==和equals

[喵"的Android之路][番外篇]关于==和equals 在实际的编程当中,经常会使用==和equals来判断变量是否相同.但是这两种比较方式也常常让人搞得云里雾里摸不着头脑.下面是我个人做的总结,希望能起到拨云见日的作用. [讲前普及] 请阅读 [喵"的Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符 了解Java基本数据类型和引用数据类型 1."=="运算符 通俗点讲,==运算符比较的是两个变量在栈中的内容是否相同. 以a ==

cocos2dX 番外篇之CCSpriteBatchNode

嗯, 今天我们没事干, 闲的蛋疼, 干脆我们创建精灵玩玩吧, 我随手一打, 我去, 出了一万个精灵, 感觉我就是万能的上帝啊, 一万个( 旁白: 请不要放弃治疗好么), 嘿嘿, 看看一万个精灵是啥样: 看起来很不错啊( 旁白: 等等, 那个帧数怎么下降这么多啊), 额, 竟然被妹纸看出来了, 好吧, 我们进入今天的课程CCSpriteBatchNode 在游戏的某一时刻, 我们可能会大量的绘制某一个精灵( 比如发出的子弹, 搜集的星星之类), 我们都是使用同一张纹理图片创建的, 如果一张一张的进