Git Flow—Git团队协作最佳实践

作者:佚名 上传时间:2019-04-07 版权申诉

一、规范的Git使用

Git是一个很好的版本管理工具,不过相比于传统的版本管理工具,学习成本比较高。

实际开发中,如果团队成员比较多,开发迭代频繁,对Git的应用比较混乱,会产生很多不必要的冲突或者代码丢失等。

就像代码需要代码规范一样,使用Git进行代码管理同样需要一个清晰的流程和规范, Git Flow就是一个被广泛认可的Git使用最佳实践。

Git Flow是Vincent Driessen提出的一个分支管理的策略, http://nvie.com/posts/a-successful-git-branching-model/

应用这个规范可以使得版本库的演进保持简洁,主干清晰,各个分支有不同的职责,在很大程度上减少冲突的产生。

二、 Git Flow开发流程

Git Flow通过对分支的管理,实现版本迭代的清晰。

这个流程图是应用Git Flow的标准流程,可以看到,不同的分支在产品研发和上线的不同阶段有不同的作用,扮演了不同的角色。

Git Flow—Git团队协作最佳实践

Git Flow不同分支的角色

结合图片,简单介绍一下不同分支的职责。

1.Production分支

这个分支是发布到生产环境的代码,这个分支只能从其他分支合并,不能在这个分支直接修改。

2.Develop分支

这个分支是主开发分支,包含所有要发布到下一个Release的代码,这个主要合并自其他分支,比如Feature分支。

3.Feature分支

Feature 分支主要用来开发一个新的功能,一旦开发完成,合并回Develop分支,并且进入下一个Release,Feature分支可以选择删除或者保留。

4.Release分支

当需要发布一个新Release的时候,基于Develop分支创建一个Release分支,Release分支在测试过程中可能会修改,完成Release后,合并到Master和Develop分支。

5.Hotfix分支

当在Production发现新的Bug时候,需要创建一个Hotfix分支, 完成Hotfix后,合并回Master和Develop分支,所以Hotfix的改动会进入下一个Release。

Git Flow使用原则

  • Master分支是线上稳定分支,Release通常用作测试分支,Develop分支是开发应用的主分支
  • 所有的功能开发都在Feature分支进行,然后合并到Develop分支
  • Release分支发布后出现问题,直接在Release分支修改,避免Develop分支代码污染

三、Git Flow分支协作最佳实践

我们在应用Git Flow的时候,也遇到了一些问题,比如开发结束后,在develop分支进行merge开发分支操作,出现冲突如果不能很好的解决,容易对develop分支的代码造成污染。

下面是实际开发中使用的流程,在Feature分支上合并develop代码,然后合并到develop分支上,流程更加清晰,冲突优先在开发分支解决。

一个开发人员典型的提交流程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// 新建分支
git checkout develop
git pull origin develop
git checkout -b myfeature
// 在分支上开发
git add ***
git commit -m "*****"
// 在分支开发过程中合并develop分支到本分支(先把自己的工作commit到本地)
git checkout develop
git pull origin develop
git checkout myfeature
git merge develop
(如果没有冲突,就继续开发,如果有冲突,执行下面过程)
首先在本地解决冲突,再把冲突解决commit
git add ***
git commit -m "*****"
// 在分支开发结束,需要将本分支合并到develop分支(先把自己的工作commit到本地)
git checkout develop
git pull origin develop
git merge myfeature
(如果没有冲突,就推送到远程)
git push origin develop
(如果有冲突,则解决冲突,再commit,并推送到远程:)
git add ***
git commit -m "*****"
git push origin develop

应用Git Flow的目的是更好的进行版本管理和持续集成,有些细节并不一定要遵循这个模型,可以根据团队规模进行简单的调整,适合的才是最好的。

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
Git FlowGit
一、规范的Git使用 Git是一个很好的版本管理工具,不过相比于传统的版本管理工具,学习成本比较高。 实际开发中,如果团队成员比较多,开发迭代频繁,对G
使用Git进行
Git团队协作Git是一种非常流行的版本控制系统,它可以帮助团队协作开发项目。以下是一些Git团队协作的最佳实践:每个开发者都应该有自己的分支来进行开发,这样可以避免互相影响。当开发者完成一个
Git 2.29.2
命令行
2023-03-13 03:10
Git中的--如何正确使用Git Flow
我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用。 Git的优点 Gi
使用 Git 进行开发的
Git 是一个开源的分布式版本控制系统,它已经成为了团队协作开发中必不可少的工具。以下是一些 Git 团队协作的最佳实践:示例代码以下是一些示例代码,展示了如何在团队协作开发中使用 Git:gi
Git 2.31.1
Git
2023-03-12 17:28
使用Git分支进行
Git是一种流行的分布式版本控制系统,用于跟踪和管理代码的变更。在团队协作中,合理的分支管理对于保持代码的稳定性和协作效率至关重要。本示例将详细介绍如何使用Git的分支功能来优化团队协作,以及如何遵循
Git 2.33.0
Git
2023-10-31 17:38
Home Contact Gallery RSS Git中的--如何正确使用Git Flow
我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用。 Git的优点 Gi
使用Git进行
介绍使用Git进行团队合作的最佳实践,包括分支管理、代码合并、冲突解决、代码质量控制等。通过优秀的使用方式,可以更好地协作开发,减少错误率。1.分支管理: //创建开发分支 $ gi
Git 2.31.1
Git
2023-04-20 16:22
Git团队协作
非扫描的中文完整版带书签 Git团队协作 Git团队协作 Git团队协作 Git团队协作 Git团队协作 Git团队协作 Git团队协作本书是一本软件团队协作指南,采用以人为本的方式讲解版本控制,
PDF
0B
2018-12-09 11:53
Git团队协作
本书采用以人为本的方式讲解版本控制。我不想从 Git 的历史讲起,而是在一开始先概览各式各样的团队协作方法。接下来,我们会绕回到 Git 命令,确保你在敲下命令键时总是知道为什么。通过使用特定的工作流
EPUB
0B
2019-04-13 17:32
Git团队协作
《Git团队协作》高清,里面不仅git的详细使用方法,还系统性的介绍了如果实现团队协作,非常有意义的一本书
PDF
0B
2019-09-20 02:45