【发布时间】:2020-11-11 00:43:02
【问题描述】:
我最近接到一项任务,为我正在处理的项目添加特定功能。由于此功能依赖于使用残酷的旧代码,因此我决定将任务拆分为 2 个步骤:
- 重构旧代码以提高可用性
- 使用重构代码创建功能
我创建了一个分支 feat/foo,重构完成后,我将它合并到我们的 master 中,以便我们可以直接使用更改。现在我留下了以下提交历史:
A ---> B ---> C --> E ---> F <master B: created branch feat/foo
| ^ D: refactoring finished
D -----------| C: changes in master in between
^ E: merge commit
feat/foo F: master is now here
feat/foo 仍然指向 D,并且我的 master 已经进入提交 F。我现在该怎么做才能在分支 feat/foo 中继续我的这项任务?我看到了两种可能性:
- 要么删除 feat/foo 并再次删除
checkout -b,这样我就有了一个与旧分支同名的新分支, - 或以某种方式“重用”feat/foo,我不知道该怎么做
第一个解决方案对我来说感觉不太正确,删除分支只是为了重新创建它似乎是“错误的”。但我不知道如何重复使用它。
我该怎么办?删除并重新创建分支,或者如果正确的答案是重用它,如何?
【问题讨论】:
标签: git