当我需要其他分支的一些代码时如何为功能创建分支(未合并到开发分支中)
How to create branch for feature when i need some code of other branch (not merged in develop branch)
做我的任务有一个很大的挑战,那就是做相互依赖的任务
我在这张照片中说的。
假设我们有两个任务A和B,执行子任务A1、A2和B1、B2,假设任务B依赖于A。
要理想地执行任务 B,您应该执行此图像中的任务。
但这在很多情况下不会发生,例如,当从服务器进行 A2 工作时,为了避免浪费时间,我们决定同时进行任务 B。
在这种情况下,我认为不正确的第一个解决方案是从 A 中创建 Branch B,如下图,这不是很正确,因为 Branch B 隐式包含 A1,如果有错误,它会发展转账。
Branch B implicitly includes A1, and if there is a bug, it develop transfers.
如果 A 和 B 如此相互关联,那似乎是不可避免的。
如果 A 中存在错误,您将需要将其合并或挑选到 B(从 A 创建)。
但是对于像 A 和 B 这样的高度耦合的任务...我只会创建一个分支 ABui 和一个 ABapp
given that task B depends on A.
这意味着 B 将具有您在任务 A 中编写的所有错误。如果存在这种依赖性,则无法避免这种情况。
由于A1上修复了这些错误,您可以将分支A1合并到分支B中。
从功能分支分支是一个很好的混乱过程的指标。有时这是不可避免的,但每次都必须考虑其他解决方案:
- 推动 A 掌握(或开发,如果这是你的主要分支),即使它还没有准备好。但是通过抽象分支或功能切换对用户隐藏更改。
- 考虑重新确定优先级,以便在合并 A 之前不启动功能 B。在那之前,您可以处理功能 C。
- 如果 A 不能在没有 B 的情况下发布,那么在一个分支中开发两者。
你用 GitFlow 标记了你的问题 - 它通常意味着很多不必要的分支。只是为了让您知道 - GitFlow is an outdated branching strategy。仅当您同时维护产品的多个版本时才适用。
to avoid wasting time, we decided to work on task B at the same time
虽然您认为开始处理 B 不会浪费时间,但由于并行工作,您最终可能会浪费更多时间。现代开发流程(准时制、约束理论、持续交付)告诉我们有少量未完成的工作(又名库存成本)——越小越好。通过分支太多和有很多未发布的代码,您会增加未完成的工作量,从而增加开发成本。
做我的任务有一个很大的挑战,那就是做相互依赖的任务 我在这张照片中说的。 假设我们有两个任务A和B,执行子任务A1、A2和B1、B2,假设任务B依赖于A。
要理想地执行任务 B,您应该执行此图像中的任务。
但这在很多情况下不会发生,例如,当从服务器进行 A2 工作时,为了避免浪费时间,我们决定同时进行任务 B。 在这种情况下,我认为不正确的第一个解决方案是从 A 中创建 Branch B,如下图,这不是很正确,因为 Branch B 隐式包含 A1,如果有错误,它会发展转账。
Branch B implicitly includes A1, and if there is a bug, it develop transfers.
如果 A 和 B 如此相互关联,那似乎是不可避免的。
如果 A 中存在错误,您将需要将其合并或挑选到 B(从 A 创建)。
但是对于像 A 和 B 这样的高度耦合的任务...我只会创建一个分支 ABui 和一个 ABapp
given that task B depends on A.
这意味着 B 将具有您在任务 A 中编写的所有错误。如果存在这种依赖性,则无法避免这种情况。
由于A1上修复了这些错误,您可以将分支A1合并到分支B中。
从功能分支分支是一个很好的混乱过程的指标。有时这是不可避免的,但每次都必须考虑其他解决方案:
- 推动 A 掌握(或开发,如果这是你的主要分支),即使它还没有准备好。但是通过抽象分支或功能切换对用户隐藏更改。
- 考虑重新确定优先级,以便在合并 A 之前不启动功能 B。在那之前,您可以处理功能 C。
- 如果 A 不能在没有 B 的情况下发布,那么在一个分支中开发两者。
你用 GitFlow 标记了你的问题 - 它通常意味着很多不必要的分支。只是为了让您知道 - GitFlow is an outdated branching strategy。仅当您同时维护产品的多个版本时才适用。
to avoid wasting time, we decided to work on task B at the same time
虽然您认为开始处理 B 不会浪费时间,但由于并行工作,您最终可能会浪费更多时间。现代开发流程(准时制、约束理论、持续交付)告诉我们有少量未完成的工作(又名库存成本)——越小越好。通过分支太多和有很多未发布的代码,您会增加未完成的工作量,从而增加开发成本。