1)上传本地代码到TFS

a.Generate Git Credentials,即创建git账户密码

b)上传本地代码

  1. git add *
    git commit -m "纳入管理"
  2.  
  3. git remote add origin https://qiongyan2.visualstudio.com/_git/BeibeiCore2
    git push -u origin --all
    {{-u参考链接:https://www.zhihu.com/question/20019419/answer/83091592}}
    git remote rm origin
  1. Username for 'https://qiongyan2.visualstudio.com': qiongyan2@126.com
    Password for 'https://qiongyan2@126.com@qiongyan2.visualstudio.com':

2)git 分支

也可以参考此文:Git 在团队中的最佳实践--如何正确使用Git Flow

作者:khowarizmi
链接:https://www.zhihu.com/question/21995370/answer/33172036
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

写在前面:
1. 建议使用source tree或者其他的gui工具。
2. 安装oh-my-zsh
开始回答问题:
最近在看git关于分支的管理,发现可以用git-flow来管理分支。先贴上项目地址nvie/gitflow · GitHub
git-flow主要有5中分支:master、hotfix、release、develop、feature。

feature分支开始于develop分支,完成以后合并到develop分支。

当完成一定数量feature分支以后,从develop再开一个release分支出来,这些特性将被更新到下一个发布的版本中,之后的feature将不会被合并到release中。

之后在release分支中,只修改bug,然后完成release分支。完成release分支会完成以下三个操作:1、合并release分支到master;2、给master打上版本的标签;3、release回归到develop分支。

当发现master上有bug时,开一个hotfix,完成后合并到master分支。

基本的开发流程就是这样,不清楚的可以看看文档Gitflow Workflow

PS:source tree中已经集成了git-flow使用感受良好

3) Git Flow代码示例

  1. a. 创建develop分支
  2.  
  3. git branch develop
  4. git push -u origin develop
  5. b. 开始新Feature开发
  6.  
  7. git checkout -b some-feature develop
  8. # Optionally, push branch to origin:
  9. git push -u origin some-feature
  10.  
  11. # 做一些改动
  12. git status
  13. git add some-file
  14. git commit
  15. c. 完成Feature
  16.  
  17. git pull origin develop
  18. git checkout develop
  19. git merge --no-ff some-feature
  20. git push origin develop
  21.  
  22. git branch -d some-feature
  23.  
  24. # If you pushed branch to origin:
  25. git push origin --delete some-feature
  26. d. 开始Relase
  27.  
  28. git checkout -b release-0.1.0 develop
  29.  
  30. # Optional: Bump version number, commit
  31. # Prepare release, commit
  32. e. 完成Release
  33.  
  34. git checkout master
  35. git merge --no-ff release-0.1.0
  36. git push
  37.  
  38. git checkout develop
  39. git merge --no-ff release-0.1.0
  40. git push
  41.  
  42. git branch -d release-0.1.0
  43.  
  44. # If you pushed branch to origin:
  45. git push origin --delete release-0.1.0
  46.  
  47. git tag -a v0.1.0 master
  48. git push --tags
  49. f. 开始Hotfix
  50.  
  51. git checkout -b hotfix-0.1.1 master
  52. g. 完成Hotfix
  53.  
  54. git checkout master
  55. git merge --no-ff hotfix-0.1.1
  56. git push
  57.  
  58. git checkout develop
  59. git merge --no-ff hotfix-0.1.1
  60. git push
  61.  
  62. git branch -d hotfix-0.1.1
  63.  
  64. git tag -a v0.1.1 master
  65. git push --tags

4)本地测试git flow

书本目录:https://git-scm.com/book/zh/v2

  1. qiongyazhudembp:BeibeiCore qiongyanzhu$ git branch --all
  2. * master
  3. remotes/origin/master
  4. qiongyazhudembp:BeibeiCore qiongyanzhu$

  

  1. $ git branch develop
  2. $ git branch --all
  3. develop
  4. * master
  5. remotes/origin/master

  然也可以同步

  1. $ git push -u origin develop:develop
  2. Total 0 (delta 0), reused 0 (delta 0)
  3. To https://qiongyan2.visualstudio.com/_git/BeibeiCore2
  4. * [new branch] develop -> develop
  5. Branch develop set up to track remote branch develop from origin.
  6. $ git branch --all
  7. develop
  8. * master
  9. remotes/origin/develop
  10. remotes/origin/master 

  1. $ cat .git/refs/heads/master
  2. 54b20f4c9f793ad1fc59f4e4b03867c93ad2bca7
  3. $ git checkout develop
  4. Switched to branch 'develop'
  5. Your branch is up-to-date with 'origin/develop'.
  6. $ git branch --all
  7. * develop
  8. master
  9. remotes/origin/develop
  10. remotes/origin/master

远程如果已经有develop分支

5) 代码编写有误,放弃工作区的修改

$ git diff 工作区与暂存区(提交暂存区,stage)相比的差异

$ git checkout bootstrap.js

[TFS4]TFS git地址,分支概念的更多相关文章

  1. git 利用分支概念实现一个仓库管理两个项目

    需求描述:开发了一个网站,上线之际,突然另一个客户说也想要个一样的网站,但网站的logo和内部展示图片需要替换一下,也就是说大部分的后台业务逻辑代码都是一致的,以后升级时功能也要保持一致:刚开始想反正 ...

  2. [Notice]博客地址转移 vitostack.com

    个人博客地址转移至vitostack.com 这里可能不会经常更新. 欢迎访问新地址.

  3. Git之(一)Git是什么[转]

    为什么使用Git 孔子曾经曰过的,名正则言顺 言顺则事成. 我们在学习一项新技术之前,弄清楚为什么要学它至关重要,至于为什么要学习Git,我用一段if-else语句告诉你原因: if(你相信我){ 我 ...

  4. [转]Git入门与实践(一)

    git入门与实践(一) ·        March 10th, 2010 ·        Posted in UNIX环境编程 ·        By ghosTM55 Write comment ...

  5. 你真的了解git的分支管理跟其他概念吗?

    现在前端要学的只是太多了,你是不是有时会有这个想法,如果我有两个大脑.一个学Vue,一个学React,然后到最后把两个大脑学的知识再合并在一起,这样就能省时间了. 哈哈,这个好像不能实现.现实点吧!年 ...

  6. 使用TFS+GIT实现分布式项目管理

    前言 GIT是近来很流行的一种版本控制系统,是Linux内核之父Linus Torvalds为了管理Linux内核的开发而开发的一种开源的版本控制工具. GIT相比传统的版本控制工具最大的优点是实现了 ...

  7. Git 入门:概念、原理、使用

    出处: git入门:概念.原理.使用 git和Github 概念 Git --- 版本控制工具(命令). git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.git ...

  8. [caffe]linux下安装caffe(无cuda)以及python接口

    昨天在mac上折腾了一天都没有安装成功,晚上在mac上装了一个ParallelDesktop虚拟机,然后装了linux,十分钟就安装好了,我也是醉了=.= 主要过程稍微记录一下: 1.安装BLAS s ...

  9. Git 的核心概念解读

    本文不是Git使用教学篇,而是偏向理论方面,旨在更加深刻的理解Git,这样才能更好的使用它,让工具成为我们得力的助手. 版本控制系统 Git 是目前世界上最优秀的分布式版本控制系统.版本控制系统是能够 ...

随机推荐

  1. Solr 核心组成

     Solr 核心组成就是:SolrHome 和 SolrCore. SolrHome:SolrHome是Solr运行的主目录,该目录可以包含多个solrcore目录. SolrCore:每个solrc ...

  2. Python的主成分分析PCA算法

    这篇文章很不错:https://blog.csdn.net/u013082989/article/details/53792010 为什么数据处理之前要进行归一化???(这个一直不明白) 这个也很不错 ...

  3. python一切皆对象的理解

    min_error=pls(x_train, x_test, y_train, y_test) #这里我之前写的是error,但是前面有一个定义的error函数.所以导致出现了警告. 可能是因为pyt ...

  4. 【例题 6-21 UVA - 506】System Dependencies

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 记录每个物品它的依赖有哪些,以及它被哪些东西依赖就可以了. 显式安装的东西不能被隐式删除删掉(就是remove item,然后删除i ...

  5. tomcat的classloader机制

    本系列博客打算分析一下tomcat7.x的源码,其中可能会穿插一些java基础知识的介绍  读tomcat的源码的时候,我建议和官方的User Guide一起阅读,明白tomcat做某件事情的目的之后 ...

  6. POJ 1466 Girls and Boys (ZOJ 1137 )最大独立点集

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=137 http://poj.org/problem?id=1466 题目大意: ...

  7. VMWare中的三种联网模式图解

    网络基础及局域网配置 1.简单的局域网结构 2.VMWare中的三种联网模式 NAT模式 桥接模式 VMnet1

  8. 【例题5-5 UVA 12096 】The SetStack Computer

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 用set来解决这个问题. 考虑如何表示 { {{}} }这个集合 我们可以把{}这个集合和一个数字映射->1 然后把1加入到某 ...

  9. ArcEngine数据删除几种方法和性能比较

    转自原文 ArcEngine数据删除几种方法和性能比较 一.  几种删除方法代码 1.  查询结果中删除 private void Delete1(IFeatureClass PFeatureclas ...

  10. 链表(三)——链表删除冗余结点&插入结点到有序链表

    1.一个以递增方式排列的链表,去掉链表中的冗余值. 思路一:设有两个指针p和q.使p不动,q依次往后循环直到p->data不等于q->data,再将中间的冗余数据删除. 思路二:设有两个指 ...