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. Opserver 初探一《Opserver的搭建》

    Opserver 是Stack Overflow的开源监控产品.stackoverflow网站是基于asp.net开发的,具体采用的软硬件配置可以查看<StackOverflow 这么大,究竟用 ...

  2. 安卓Android Support Design Library——Snackbar

    介绍: Snackbar是Android Support Design Library库支持的一个控件,用于在界面下面提示一些关键信息,跟Toast不同的地方是SnackBar允许用户向右滑动消除它, ...

  3. KMP-字符串模式匹配(c++/python实现)

    KMP算法可以在O(n+m)的时间数量级上完成模式匹配,其做法在于:没当一次匹配过程中出现字符比较不等时,不需要回溯指针,而是利用已经得到的“部分匹配”的结果将模式向右“滑动”尽可能远的一段距离后,继 ...

  4. postman—数据同步和创建测试集

    postman使用之二:数据同步和创建测试集 一.数据同步 启动postman 后在右上角可以登录账号,登录后就可以同步自己的api测试脚本,连上网在办公区在家都可以同步. 二.创建测试集 1.点击c ...

  5. CSS学习笔记(基础篇)

    CSS概念 CSS 指层叠样式表 (Cascading Style Sheets)(级联样式表) Css是用来美化html标签的,相当于页面化妆. 样式表书写位置: <head> < ...

  6. 基于Java的简易表达式解析工具(二)

    之前简单的介绍了这个基于Java表达式解析工具,现在把代码分享给大家,希望帮助到有需要的人们,这个分享代码中依赖了一些其他的类,这些类大家可以根据自己的情况进行导入,无非就是写字符串处理工具类,日期处 ...

  7. Fiddler实现手机抓包——小白入门(转载csdn)

    手机用fiddler抓包 电脑最好是笔记本,这样能和手机保持统一局域网内:其他不多说,直接说步骤了. 一.对PC(笔记本)参数进行配置    1. 配置fiddler允许监听到https(fiddle ...

  8. 解决火狐浏览器安装不上Selenium IDE插件“此附加组件无法安装”

    (摘自http://blog.sina.com.cn/s/blog_14eea47cb0102w25n.html) 解决火狐浏览器安装不上Selenium IDE插件“此附加组件无法安装” 1.打开火 ...

  9. [Codeforces 925C]Big Secret

    Description 题库链接 给出 \(n\) 个数,让你生成这 \(n\) 个数的一个排列 \(A\) .定义 \(B_i = \bigoplus\limits_{j=1}^i A_j\) , ...

  10. win7 iis7 asp.net 编译器错误消息: CS0016:

    编译器错误消息: CS0016: 未能写入输出文件“c:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root ...