使用 Git Flow 的正确流程是啥?
Posted
技术标签:
【中文标题】使用 Git Flow 的正确流程是啥?【英文标题】:What is the right process in using Git Flow?使用 Git Flow 的正确流程是什么? 【发布时间】:2020-07-09 14:26:41 【问题描述】:我正在使用 Git Flow,“一个成功的 Git 分支模型”:https://nvie.com/posts/a-successful-git-branching-model/
但我不完全理解,所以我请求你的帮助。
在我们的项目中,我们使用的是 gitlab,项目中有 2 个分支,分别是 master 和 develop。
我被告知要从开发分支分支出来,所以这就是我所做的:
-
首先是我克隆了远程仓库,默认分支是master
第二次我使用命令从开发分支分支 -
git checkout -b develop origin/develop
现在在我的本地,我有两个分支 master 和 development
我在创建功能分支的时候有个问题,是不是只在本地?
比如使用命令git branch -b feature_branch
,这个过程正确吗?
现在,如果上述过程是正确的,并且我在功能分支上进行了更改,是否应该将其合并到开发分支中?对吗?
现在如果我想推送本地更改,是否应该将其推送到远程开发分支?还是在 master 分支上?
如果我从我的团队中拉取更改,我应该从远程主分支拉取它吗?还是在远程开发分支中?
谁能解释一下,如果你能给出正确的命令,我也将不胜感激,谢谢。或一步一步的过程。
【问题讨论】:
使用 GitFlow 的唯一正确方法是不要。 【参考方案1】:这取决于您团队的工作流程,但执行以下操作通常是安全的:
-
克隆
git switch develop
git switch -c feature_branch
提交内容
git push -u origin feature_branch
在 Gitlab 上向 develop
创建拉取请求
在开始新功能之前拉develop
【讨论】:
基本上在开始一个新功能时,我必须先删除我的feature_branch,然后返回开发分支然后拉取,然后再创建或开始一个新功能?对吗? 是的,但我只会在合并拉取请求后删除功能分支。并为每个功能分支使用不同的名称,即使您删除了之前的分支,以避免混淆和可能与远程分支发生冲突。 在这种情况下,我认为不必总是拉/变基到最新的develop
(尽管这是最好的做法)。原因是,通过使用这个feature-branch-<topic>
(当你在处理一个特性时分支出来),它允许你或你的其他团队并行工作。如果碰巧发生冲突,它只会在您创建拉取请求时显示出来(第 6 步)。以上是关于使用 Git Flow 的正确流程是啥?的主要内容,如果未能解决你的问题,请参考以下文章
git-flow 与 github-flow 的优缺点是啥? [关闭]