Git基本命令和GitFlow工作流

http://www.linuxidc.com/Linux/2015-01/111999.htm

本篇文章讲解了Git的一些基本的团队协作命令,和GitFlow工作流指南

git 团队协作的一些命令

  • 1.开分支

    git branch 新分支名
    例如,在master分支下,新开一个开发分支:
    git branch dev
  • 2.切换到新分支

    git checkout 分支名
    例如,在master分支下,切换到新开的dev:
    git checkout dev
  • 3.开分支和切换分支合并到一个命令

    git checkout -b 新分支名
    例如,新开一个开发分支,并立即切换到该分支:
    git checkout -b dev
  • 4.切换回原分支

    git checkout 原分支名
    例如,切换回master
    git checkout master
    注意:当前分支有修改,还未commit的时候,会切换失败,应当先commit,但可以不用push
  • 5.合并分支

    git merge 需要合并的分支名
    例如,刚刚已经切换回master,现在需要合并dev的内容:
    git merge dev
    建议在GitLab(或者其他git系统)上面创建merge request的形式来进行分支的合并和代码审核。
  • 6.查看本地分支列表

    git branch -a
    前面带remotes/origin 的,是远程分支
  • 7.查看远程分支列表

    git branch -r
  • 8.向远程提交本地新开的分支

    git push origin 新分支名
    例如,刚刚在master下新开的dev分支:
    git push origin dev
  • 9.删除远程分支

    git push origin :远程分支名
    例如,删除刚刚提交到远程的dev分支:
    git push origin :dev
  • 10.删除本地分支

    git branch 分支名称 -d
    例如,在master分支下,删除新开的dev分支:
    git branch dev -d
    注意:如果dev的更改,push到远程,在GitLab(或者其他git系统)上面进行了merge操作,但是本地master没有pull最新的代码,会删除不成功,可以先git pull origin master,或者强制删除
    git branch dev -D
  • 11.更新分支列表信息

    git fetch -p
  • 12.TortoiseGit(乌龟git)

    不可否认,在windows下,这个是个不错的工具。不管你是命令行新手还是重度使用者,我觉得都可以尝试一下。

Git工作流指南:Gitflow工作流

在你开始阅读之前,请记住:流程应被视作为指导方针,而非“铁律”。我们只是想告诉你可能的做法。因此,如果有必要的话,你可以组合使用不同的流程

图一

Gitflow工作流定义了一个围绕项目发布的严格分支模型。虽然比功能分支工作流复杂几分,但提供了用于一个健壮的用于管理大型项目的框架。

Gitflow工作流没有用超出功能分支工作流的概念和命令,而是为不同的分支分配一个很明确的角色,并定义分支之间如何和什么时候进行交互。除了使用功能分支,在做准备、维护和记录发布也使用各自的分支。当然你可以用上功能分支工作流所有的好处:Pull Requests、隔离实验性开发和更高效的协作。

工作方式

Gitflow工作流仍然用中央仓库作为所有开发者的交互中心。和其它的工作流一样,开发者在本地工作并push分支到要中央仓库中。

历史分支

相对使用仅有的一个master分支,Gitflow工作流使用2个分支来记录项目的历史。master分支存储了正式发布的历史,而develop分支作为功能的集成分支。这样也方便master分支上的所有提交分配一个版本号。

图二

剩下要说明的问题围绕着这2个分支的区别展开。

功能分支

每个新功能位于一个自己的分支,这样可以push到中央仓库以备份和协作。但功能分支不是从master分支上拉出新分支,而是使用develop分支作为父分支。当新功能完成时,合并回develop分支。新功能提交应该从不直接与master分支交互。

图三

注意,从各种含义和目的上来看,功能分支加上develop分支就是功能分支工作流的用法。但Gitflow工作流没有在这里止步。

发布分支

图四

一旦develop分支上有了做一次发布(或者说快到了既定的发布日)的足够功能,就从develop分支上fork一个发布分支。新建的分支用于开始发布循环,所以从这个时间点开始之后新的功能不能再加到这个分支上 —— 这个分支只应该做Bug修复、文档生成和其它面向发布任务。一旦对外发布的工作都完成了,发布分支合并到master分支并分配一个版本号打好Tag。另外,这些从新建发布分支以来的做的修改要合并回develop分支。

使用一个用于发布准备的专门分支,使得一个团队可以在完善当前的发布版本的同时,另一个团队可以继续开发下个版本的功能。
这也打造定义良好的开发阶段(比如,可以很轻松地说,『这周我们要做准备发布版本4.0』,并且在仓库的目录结构中可以实际看到)。

GitHub 教程系列文章: 

GitHub 使用教程图文详解  http://www.linuxidc.com/Linux/2014-09/106230.htm 

Git 标签管理详解 http://www.linuxidc.com/Linux/2014-09/106231.htm 

Git 分支管理详解 http://www.linuxidc.com/Linux/2014-09/106232.htm 

Git 远程仓库详解 http://www.linuxidc.com/Linux/2014-09/106233.htm 

Git 本地仓库(Repository)详解 http://www.linuxidc.com/Linux/2014-09/106234.htm 

Git 服务器搭建与客户端安装  http://www.linuxidc.com/Linux/2014-05/101830.htm 

Git 概述 http://www.linuxidc.com/Linux/2014-05/101829.htm 

分享实用的GitHub 使用教程 http://www.linuxidc.com/Linux/2014-04/100556.htm 

更多详情见请继续阅读下一页的精彩内容 http://www.linuxidc.com/Linux/2015-01/111999p2.htm


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值