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. HttpComponents组件探究 - HttpClient篇

    在Java领域,谈到网络编程,可能大家脑海里第一反应就是MINA,NETTY,GRIZZLY等优秀的开源框架.没错,不过在深入探究这些框架之前,我们需要先从最original的技术探究开始(当然,需要 ...

  2. Android 手势识别——单击/双击

    为什么需要手势识别? 手势对于我们的app有很多的地方都在使用,比如右滑关闭界面等.手势控制分为触发动作(Touch Mechanics,用户手指在屏幕上如何动作)和触发行为(Touch Activi ...

  3. 解决ssh/scp报错:Someone could be eavesdropping on you right now (man-in-the-middle attack)!

    主要现象:ssh/scp 失败,host key verification failed. # scp /home/iso/********.iso root@192.168.1.***:/home/ ...

  4. Java之集合(十八)DelayQueue

    转载请注明源出处:http://www.cnblogs.com/lighten/p/7493735.html 1.前言 本章介绍阻塞队列DelayQueue,这是一个无界阻塞队列.其存储延时的元素,只 ...

  5. Java之BigDecimal

    转载请注明源出处:http://www.cnblogs.com/lighten/p/6963836.html 1.前言 编程人员都应该知道计算机计算浮点数是不精确的,结果是近似数值,当然具体值还是和计 ...

  6. Ajax关于readyState和status的讨论

    熟悉web开发的程序员想必对Ajax也不会陌生.现在已经有很多js框架封装了ajax实现,例如JQuery的ajax函数,调用起来非常方便.当然本文不打算讲框架的使用,我们将从Ajax的javascr ...

  7. 【转】Entity framework 6 编写的通用数据类

    原文:http://blog.csdn.net/laokaizzz/article/details/25730813 准备参考

  8. jQuery为图片添加链接(创建新的元素来包裹选中的元素)

    主要用到 wrap()函数 http://www.w3school.com.cn/jquery/manipulation_wrap.asp 这个函数是创建新的的元素去包裹所执行这个方法的元素 如下例子 ...

  9. 在没有jre环境下运行jar

    1.首先将程序打包(这一步可以通过eclipse的导出完成). 2.为项目添加第三方jar包.在第1步打好的jar包的同级目录下,新建一个lib(名字可以自取)文件夹.用winrar等解压文件打开第1 ...

  10. 基于obs+nginx-rtmp-module搭建自己直播的系统

    前言 一句唠叨,工欲善其事,必先利其器,在程序员的工作里,搭建各种环境往往花费过多不必要的时间,这里建议搭建服务端环境时,尽量避开win.macos这种系统,个人比较推崇centos. 操作 下面以c ...