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

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

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

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

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

第一步

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

git clone git@bitbucket.org: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 add, git rm -f 等等

第六步

当利用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子分支内容更新到本地。

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

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

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

    说道代码管控,一般都会提到TFS.Git等,但是在这里我们将要用到Bitbucket,其实其操作方式和Git基本上一样,但是和TFS则有很大的不同了.但是原理基本上都是一致的. 这里我不会过多的涉及到 ...

  2. 渗透测试思路 - CTF(番外篇)

    渗透测试思路 ​ Another:影子 (主要记录一下平时渗透的一些小流程和一些小经验) CTF(番外篇) ​ 笔者是一个WEB狗,更多的是做一些WEB类型题目,只能怪笔者太菜,哭~~ 前言 ​ 本篇 ...

  3. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  4. 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV

    这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...

  5. python自动化测试应用-番外篇--接口测试1

    篇1                 book-python-auto-test-番外篇--接口测试1 --lamecho辣么丑 1.1概要 大家好! 我是lamecho(辣么丑),至今<安卓a ...

  6. 知识图谱实战开发案例剖析-番外篇(1)- Neo4j是否支持按照边权重加粗和大数量展示

    一.前言 本文是<知识图谱实战开发案例完全剖析>系列文章和网易云视频课程的番外篇,主要记录学员在知识图谱等相关内容的学习 过程中,提出的共性问题进行展开讨论.该部分内容原始内容记录在网易云 ...

  7. [uboot] (番外篇)uboot之fdt介绍

    http://blog.csdn.net/ooonebook/article/details/53206623 以下例子都以project X项目tiny210(s5pv210平台,armv7架构)为 ...

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

    转自:http://www.cuiyongzhi.com/post/63.html 之前发过一个[微信开发]系列性的文章,也引来了不少朋友观看和点评交流,可能我在写文章时有所疏忽,对部分文件给出的不是 ...

  9. [uboot] (番外篇)uboot之fdt介绍 (转)

    以下例子都以project X项目tiny210(s5pv210平台,armv7架构)为例 [uboot] uboot流程系列:[project X] tiny210(s5pv210)上电启动流程(B ...

随机推荐

  1. yii2 如何在页面底部加载css和js

    作者:白狼 出处:www.manks.top/article/yii2_load_js_css_in_end 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接 ...

  2. == 与 equals 区别

          同: ==和equals都比较两个值是否相等.相等为true 否则为false:   异:      1. == 是一个运算符;equals则是string对象的方法,可以.(点)出来.  ...

  3. 网络编程2--毕向东java基础教程视频学习笔记

    Day 23 08 Udp接收端09 Udp键盘录入数据方式10 Udp聊天11 TCP传输12 TCP传输213 TCP练习14 TCP复制文件 08 Udp接收端 需求:定义一个应用程序,用于接收 ...

  4. CSRF攻击与防御

    CSRF是什么 CSRF在百度百科中是这么说的:“CSRF(Cross-site request forgery跨站请求伪造,也被称为“one click attack”或者session ridin ...

  5. mysql源码解读之事务提交过程(一)

    mysql是一种关系型数据库,关系型数据库一个重要的特性就是支持事务,这是区别于no-sql产品的一个核心特性.当然了,no-sql产品支持键值查询,不能支持sql语句,这也是一个区别.今天主要讨论下 ...

  6. Javascript之旅——第七站:说说js的调试

    最近比较吐槽,大家都知道,现在web前端相对几年前来说已经变得很重了,各种js框架,各种面对对象,而且项目多了,就会提取公共模块, 这些模块的UI展示都一样,不一样的就是后台逻辑,举个例子吧,我们做企 ...

  7. MySql安装与MySQL添加用户、删除用户与授权

    1.安装MySql       目前MySQL有两种形式的文件,一个是msi格式,一个是zip格式的.msi格式的直接点击setup.exe就好,按照步骤进行.但是很多人下了zip格式的解压发现没有s ...

  8. 数据库 SQL Server 到 MySQL 迁移方法总结

    最近接手一起老项目数据库 SQL Server 到 MySQL 的迁移.因此迁移前进行了一些调查和总结.下面是一些 SQL Server 到 MySQL 的迁移方法. 1. 使用 SQLyog 迁移 ...

  9. mysql 动态新建以及删除分区表

    因为项目需要,最近研究了一下在mysql数据库下如何动态新建以及删除分区表.如果全部借助存储过程的话,新建以及删除分区表在逻辑上比较死板.不灵活,而且还容易出错.因此,我新建了一个数据表table_f ...

  10. Tomcat源码分析之—具体启动流程分析

    从Tomcat启动调用栈可知,Bootstrap类的main方法为整个Tomcat的入口,在init初始化Bootstrap类的时候为设置Catalina的工作路径也就是Catalina_HOME信息 ...