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. 模拟登陆+数据爬取 (python+selenuim)

    以下代码是用来爬取LinkedIn网站一些学者的经历的,仅供参考,注意:不要一次性大量爬取会被封号,不要问我为什么知道 #-*- coding:utf-8 -*- from selenium impo ...

  2. puppet的使用:安装puppet

    最近项目要使用puppet,趁机赶紧学习下. 在家里的机器中搭建puppet环境,使用两台ubuntu 14.04: 准备工作 时间同步 两台设备先进行时间同步,我把要安装master的机器作为NTP ...

  3. Spring统一异常处理

    1.为什么要用Spring的统一异常处理? 项目中无论是controller层.service层还是dao层都会有异常发生.每个过程都单独处理异常,系统的代码耦合度高,工作量大且不好统一,维护的工作量 ...

  4. 【树】Convert Sorted Array to Binary Search Tree

    题目: Given an array where elements are sorted in ascending order, convert it to a height balanced BST ...

  5. 【原】Ubuntu13.04安装、卸载Gnome3.8

    添加 GNOME 3 PPA(Personal Package Archives) 我们先给Ubuntu的Software Sources增加GNOME 3 PPA.这可以不用命令行就做到,但出于简单 ...

  6. R语言之数据处理常用包

    dplyr包是Hadley Wickham的新作,主要用于数据清洗和整理,该包专注dataframe数据格式,从而大幅提高了数据处理速度,并且提供了与其它数据库的接口:tidyr包的作者是Hadley ...

  7. springweb flux 服务器推送事件

    以前做服务器推送一般用轮询,后端主动给客户端推送不是很好解决.有时候也可以采用websocket 现在看了springwebflux,用它自带的方法做服务器推送方便多了. 代码如下: import o ...

  8. 共识算法:PBFT、RAFT

    转自:https://www.cnblogs.com/davidwang456/articles/9001331.html 区块链技术中,共识算法是其中核心的一个组成部分.首先我们来思考一个问题:什么 ...

  9. 剑指offer66:机器人的活动范围

    地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. 例如,当k为18时,机器人能够进入方格 ...

  10. 【设计模式】观察者模式 Observer Pattern

    定义:观察者模式定义了对象之间的一对多依赖.当“主题”(Object)状态改变事,所有依赖它的“观察者”(Observer)都会受到通知并自动更新.主题支持观察者订阅和退订. 观察者模式提供了一种对象 ...