Git基本命令和GitFlow工作流
来源:互联网 发布:mac telnet连接 编辑:程序博客网 时间:2024/06/14 02:01
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 原分支名例如,切换回mastergit 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
- Git基本命令和GitFlow工作流
- Gitflow(git工作流)
- Gitflow Git工作流
- git工作流指南:Gitflow工作流
- Git工作流指南:Gitflow工作流
- Git工作流指南:Gitflow工作流
- Git工作流指南:Gitflow工作流
- Git工作流指南:Gitflow工作流
- Git工作流指南:Gitflow工作流
- Git工作流(Gitflow)管理
- Git工作流指南(四):Gitflow工作流
- Git工作流指南:Gitflow工作流 Comparing Workflows
- Gitflow工作流
- Gitflow工作流
- Gitflow工作流
- Gitflow工作流
- gitflow工作流
- gitflow工作流
- 反转链表
- 多功能采集模块——iPotest-PLV107
- codeforces 580D. Kefa and Dishes dp
- 1012. 数字分类 (20)
- 谷歌官方Gradle文档
- Git基本命令和GitFlow工作流
- 火云开发课堂 - 《Shader从入门到精通》系列 第十节:在Shader中实现模糊滤镜
- webview记录
- 设计模式笔记(十一)--建造者模式、原型模式、单例模式
- xshell 拖拽命令
- Bias Variance Tradeoff
- sap设置默认登录语言
- jQuery源码分析之jQuery.makeArray函数
- 启动Apache时提示No space left on device