当前位置: 首页 > 知识库问答 >
问题:

关于Git流的问题

齐学文
2023-03-14

我们基本上是在使用这里记录的Git流:http://nvie.com/posts/a-successful-git-branching-model/.现在开发人员提出了一些问题:

  1. 我们从哪里发布代码到生产?发布/修补程序分支还是主分支

我还有更多问题:

  1. 如果发布分支没有变化,为什么我们甚至需要一个?我来自ClearCase世界,我总是有这样的印象,如果没有变化,分支就不需要了。
  2. 为什么Git不经常使用标签。在ClearCase中,我们在每个构建上都有基线/标记开发分支,我们可以使用基线/标记来识别发布,不需要为发布创建分支。有了基线/标记,我们可以一直使用以前的基线/标记来发布,不需要回滚。

共有2个答案

宗政卓
2023-03-14

我将根据这句话回答你的前两个问题

发布分支被合并到master中(因为master上的每个提交定义都是一个新的发布,记住)

我想说的是,你应该把你的代码从master发布到产品中

至于回滚以删除之前实现的功能,我认为这是不正确的,因为您需要该代码的历史记录。您应该删除不推荐的代码,然后重新提交。

曾华翰
2023-03-14

免责声明:根据我对git flow的理解给出的答案可能不正确:)

1. From where do we release the code to production? The release/hotfix branch or the master?

从文章中:

因此,每次更改被合并回主版本时,根据定义,这都是一个新的生产版本。

--

 2. Need to rollback in release branch, if some features in the current
 release branch are no longer required.

你不在发布分支中做功能,你在功能分支中做功能。在发布分支中,你只做微小的更改/错误修复或在发布前更新元数据。如果这些更改是多余的,回滚分支可能是可以的,因为它们无论如何都是微小的更改,可能并不重要。

文章还提到:

在这里添加大型新功能是严格禁止的。它们必须合并到开发中,因此,等待下一个大版本。

3. If there is no change in the release branch, why do we even need one? I am from the ClearCase world, and I always have this impression that a branch is not required if there is no change on it.

如果没有更改,那么分支可能是多余的。但我觉得在你的代码里你有版本号吗?这应该在发布分支中更新。

从文章中:

此外,它们允许小错误修复和为发布准备元数据(版本号、构建日期等)。

编辑:

4. Why Git is not using tag a lot. In ClearCase, we baseline/tag the development branch on every build, and we can use baseline/tag to identify a release, no need to create a branch for release. With baseline/tag, we can always take a previous baseline/tag to release, no need to rollback.

你不必使用最新的开发提交来启动一个发布分支。

 类似资料:
  • 我有以下屏幕,需要必要的命令来合并2个提交。

  • 我有一个Java应用程序午餐一个flink工作来处理Kafka流。

  • 本文向大家介绍关于IDEA git 只有Commit没有Push的问题,包括了关于IDEA git 只有Commit没有Push的问题的使用技巧和注意事项,需要的朋友参考一下 最近发现一个问题,是关于IDEA的一些骚操作的事儿~ 具体怎么回事,一起来看看。 我们都知道使用git分布式版本控制工具,提、拉 代码都会有一个本地暂存区,也就是本地仓。 这也就说我们的Commit提交到的是我们的本地仓库,

  • 问题内容: 常量INADDR_ANY是所谓的IPv4通配符地址。通配符IP地址对于在多宿主主机上绑定Internet域套接字的应用程序很有用。如果多宿主主机上的应用程序将套接字仅绑定到其主机的IP地址之一,则该套接字只能接收发送到该IP地址的UDP数据报或TCP连接请求。但是,我们通常希望多宿主主机上的应用程序能够接收指定主机IP地址的数据报或连接请求,并将套接字绑定到通配符IP地址可以实现这一点

  • 有时我们会遇到几个关于Autoconf的问题。下面是被提及的一些问题。 发布configure脚本 对发行由Autoconf生成的configure有什么限制?它们是如何影响我那些使用它们的程序的? 关于由Autoconf生成的配置脚本是如何发行和如何被使用的,并没有限制。在Autoconf第1版中,它们是服从GNU通用公共许可证的。 我们仍然鼓励软件的作者按照诸如GPL的条款发行他们的作品,但A

  • 我正在阅读“Unix环境中的高级编程”,在dection 5.5,P150中,它说: 1、关闭文件之前,将刷新所有缓冲输出数据。任何可能被缓冲的输入数据都会被显示 2。当进程正常终止时,所有带有未写入缓冲数据的标准I/O流都将被刷新。。。 在1中,这是否意味着当我使用fclose()关闭流时,缓冲的输入将被释放,以便某些数据不会写入文件中。如果没有,“文件已关闭”是什么意思? 在2中,“未写入的缓