git - 当我的新功能依赖于之前的更改时,我应该从分支分支还是创建标签?

标签 git github git-flow

我正在 GitHub 上开发一个开源项目,我们已就一些规则达成一致(列出相关规则):

  • merge 到 master 将通过 Pull 请求完成。
  • 每次 merge 到 master 都必须至少由两个人“接触”。
  • 每个新功能都将在适当命名的分支上实现。

我遇到过的一个真实案例如下:

  1. 出现了对功能 A 的需求。
  2. 我创建了一个分支 a 并在那里实现了它。
  3. 我已向 a 分支向 master 提出 pull 请求,但目前无人审核。

我遇到的问题是我还想开发另一个功能 B。但是,功能 B 需要存在功能 A 更改。我应该如何继续存储功能 B 的源代码?

我的想法是:

  • 在分支 a 处创建一个标记,标记 A 实现的结束。
  • a 分支 b 并在其中进行进一步更改。
  • 直接从 master 分支 b 并在其上 checkout a

我对 Git 的经验不是很丰富,我认为上述所有问题都可能存在我没有意识到的问题,也许还有其他方法可以合理地管理它。对于我遇到的问题,最好的解决方案是什么?

注意:在我完成 B 的实现之前,a 很有可能会 merge 到 master 中。

最佳答案

我认为:

Branch b from a and make further changes there.

有道理。您仍然可以单独 merge a 。 稍后,当将 b merge 到 master 时( merge a 后),应该不会出现不必要的冲突,并且如果您决定需要 b 而不是 a(或来自另一个分支的 a 的替代实现),您可以修复它“足够好” “通过 rebase 。

关于git - 当我的新功能依赖于之前的更改时,我应该从分支分支还是创建标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17753373/

相关文章:

Git Flow 流程发送功能进行测试,只部署特定功能上线

gitkraken 不会自动删除远程功能分支

macos - 如何防止 NUL 字节出现在我的 GIT 存储库和提交消息中?

git - 撤消 git rm 。 -r --缓存或提交更改?

GIT:无法暂存更改以提交,在我提交更改之前无法 pull

github - 如何更改我的个人资料 "language"(个人资料图片下 <> 旁边的部分)

git 输出为空白,除非在 : echo "$(git branch)" 中捕获

git - 将一些提交移动到另一个分支

windows - 如何退出桌面版 GitHub?

git - 将 Gitflow 与 pull 请求一起使用的正确方法