1、从公共远程fork一份自己的本地远程之后,从本地远程 clone 到本地

2、将本地代码跟公共远程代码做关联配置
  git remote add upstream https://github.com/volojs/create-template.git

3、此时查看本地代码所配置的远程有哪些
  git remote -v
    origin https://github.com/suqiuhui/create-template (fetch)
    origin https://github.com/suqiuhui/create-template (push)
    upstream https://github.com/volojs/create-template.git (fetch)
    upstream https://github.com/volojs/create-template.git (push)

4、创建一个新的分支 dev (注意:并不是在当前的分支上新拉一个分支,而是创建一个新的空白分支)
  git branch dev

5、切到新建的分支上
  git checkout dev

6、查看一下当前的本地分支与远程分支的关联关系
  git branch -vv
    dev 9004b7b requirejs 2.3.3
    master 9004b7b [origin/master] requirejs 2.3.3

7、将本地新建分支push到自己的本地远程origin上,因为只是在本地创建了一个新的分支,远程 origin 上还并没有该分支呢
  git push origin dev
    Total 0 (delta 0), reused 0 (delta 0)
    To https://github.com/suqiuhui/create-template
    * [new branch] dev -> dev

  注:但此操作只相当于在远程origin上新建了一个dev分支,并没有将本地dev分支与origin上的dev分支做任何关联处理操作,即两者还是相对独立的状态,可通过 步骤6 查看

8、把本地dev分支与远程origin的dev分支进行关联处理(通过 --set-upstream 命令)
  git branch --set-upstream dev origin/dev
  --set-upstream 该命令已废弃,改作--set-upstream-to了,使用如下,在dev分支下运行
  git branch --set-upstream-to=origin/dev  或者
  git branch -u origin/dev

9、此时再次通过 步骤6 查看分支的关联关系,可见本地dev分支已于origin的dev分支建立上了关联关系
  git branch --vv
    * dev 9004b7b [origin/dev] requirejs 2.3.3
    master 9004b7b [origin/master] requirejs 2.3.3

10、接下来可从upstream远程某个分支上往本地新建分支上pull代码,
  再从本地dev分支提到本地远程origin的dev分支上,
  再通过从 origin 的 dev 分支上 new pull(merge) request 到 upstream 的 master 分支上(如下图),并等待有upstream 代码合并权限的人员通过即可
    git pull upstream master
    git push origin dev

至此,通过代码管理工具git,就完成了一次完整地代码管理操作过程,此后单dev分支上开发只需重复操作 步骤10 即可,
如果遇到需要紧急处理的bug,可通过上边 步骤1-10 完整操作另建bug修复分支,待bug修复完成再将此bug修复分支删除即可

通过代码管理工具 git 完成一次完整的代码管理过程的更多相关文章

  1. 代码管理工具 --- git的学习笔记二《git的工作原理》

    通过几个问题来学习代码管理工具之git 一.git是什么?为什么要用它?使用它的好处?它与svn的区别,在Mac上,比较好用的git图形界面客户端有 git 是分布式的代码管理工具,使用它是因为,它便 ...

  2. 代码管理工具 Git

    之前一直使用微软的代码管理工具TFS(Team Foundation Server)..NET CORE 2.0的发布后,考虑到.NET CORE项目可以跨平台,准备把项目迁移到.NET CORE 环 ...

  3. 代码管理工具-Git基础介绍及常用技巧

    目录 Git起源 基本概念 Branch.HEAD和Commit tree Git分支 git merge 和 git rebase 的区别和抉择 与远程仓库的交互 关于一些实际开发场景的问题和解决方 ...

  4. 代码管理工具Git的安装及使用

    一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...

  5. 项目代码管理工具Git的总结

    在项目的开发中,代码的同步管理很重要,团队的几个人可以通过免费的github管理自己的开源项目代码,高效方便.下面说说,开发中经常用到的git指令操作,基于github平台. 0.配置提交者的账户和邮 ...

  6. 使用代码管理工具(git)管理代码的常用指令合集

    create a new repository on the command line echo "# test" >> README.md git init git ...

  7. java接口自动化(五) - 企业级代码管理工具Git的配置

    1.简介 上一篇讲解完如何安装Git后,今天宏哥趁热打铁讲解一下Git的使用,要想使用Git,我们还需要做一些准备工作,首先你的拥有一个Git账号,所以如果你没有的话,就快速注册一个吧. 2.Git注 ...

  8. 代码管理工具 --- git的学习笔记一《git的个人开发》

    重点摘要: 创建了一个文件后首先先通过git add . 添加到暂缓区,然后通过git commit -m "提交的名字" 提交到本地仓库,最后才可能push到远程仓库. 1. 个 ...

  9. 关于分布式代码管理工具git

    一.安装 Step1  进入官网https://www.git-scm.com/download/下载,然后安装,一直“下一步”即可 Step2  验证是否安装成功,在任意地方右键,菜单中含有Git ...

随机推荐

  1. Linq基础知识小记二

    书写Linq查询有两种方法,第一种是通过方法语法(也就是扩展方法),第二种是查询表达式语法. 1.方法语法 方法语法就是通过扩展方法和Lambda表达式来创建查询 (1).链式查询 这种查询方式很多语 ...

  2. Flow中的Switch分析

    A switch statement can complete normally iff at least one of the following is true: (1)The switch bl ...

  3. vue2.0实现底部导航切换效果

    使用vue2.0写移动端的时候,经常会写底部导航效果,点击切换路由效果,实现图片和文字颜色切换.vue2.0也提供了很多ul框架供我们实现效果,今天就用原生的实现一个底部导航切换,直接上代码: 效果图 ...

  4. CentOS6的python2.6升级到python2.7以上版本(可能更详细)

    前言:一些第三方框架为了降低复杂性,新的版本已经开始不支持旧版本的python,比如Django这个web框架1.8版本及以上仅仅只支持python2.7及以上版本(记忆中是这个1.8版本) pip安 ...

  5. python中不可变数据类型和可变数据类型

    在学习python过程中我们一定会遇到不可变数据类型和可变数据类型. 1.名词解释 以下所有的内容都是基于内存地址来说的. 不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址 ...

  6. Go 单元测试、基准测试、并发基准测试

    一.单元测试 要开始一个单元测试,需要准备一个 go 源码文件,在命名文件时需要让文件必须以_test结尾. 单元测试源码文件可以由多个测试用例组成,每个测试用例函数需要以Test为前缀,例如: fu ...

  7. css 去除移动端手指按下瞬间的类hover色块

    在指定的a或者button  设置此CSS -webkit-tap-highlight-color:transparent;

  8. Node.js其他模块

    清明假期过得挺快,3天说没就没了,天热了今天把房间打扫了一下,看着挺舒心的.周六了解了下进程管理的Process模块,由于进程管理知识也比较多,今天先把其他的一些模块了解一下,进程管理这块以后慢慢学. ...

  9. [转]Asp.Net 网站多语言解决方案

    本文转自:https://www.cnblogs.com/FredTang/archive/2013/01/23/2873231.html 最近领导要求实现PMSWeb应用程序的多区域语言的支持,所以 ...

  10. [转]查看SQL Server被锁的表以及如何解锁

    本文转自:https://www.cnblogs.com/shy1766IT/p/6225694.html 锁定数据库的一个表的区别 SELECT * FROM table WITH (HOLDLOC ...