如何处理 git 流程中未合并功能的未来工作?
How to handle future work over unmerged features in git flow?
我正在使用 git 流程 - 创建功能分支,并将它们合并到开发中,...你知道的。
我制作了两个功能并提出了在 GitHub 上开发分支的拉取请求。将它们称为功能 A 和 B。
现在我想开始处理最新的提交 - 同时使用 A 和 B。但是,我的代码没有合并到 GitHub 因为我的审阅者还没有审阅它。
遇到这种情况,我该如何处理?
这就是我所说的“期待分支”。
从A创建一个分支C。现在C有A的内容。将B合并到C。现在C有A和B的内容。
git checkout -b C A
git merge B
将合并提交标记为 C 开始的位置。这个以后会有用。
git tag C-start
在 C 上做一些工作
当A和B合并为master时,pull master。现在 master 拥有 A 和 B 的内容。根据 PR 和合并过程的进展情况,该内容可能与您合并到 C 中的内容不同。如果我们现在推送 C,我们将恢复旧的 A 和 B 提交。
为了避免这种情况,我们只将 C 提交重写到 master 上。这是 C-start 标签有用的地方。我们可以使用它来仅获取写入 C 分支的提交。
# Recommit from C-start to C onto master
git rebase --onto master C-start C
# Delete the C-start tag, we don't need it.
git tag -d C-start
现在只有 C 上的提交已在 master 之上重写。这确保 C 具有合并到 master 中的 A 和 B 的更新内容。
现在提交 C 作为 PR。
我正在使用 git 流程 - 创建功能分支,并将它们合并到开发中,...你知道的。
我制作了两个功能并提出了在 GitHub 上开发分支的拉取请求。将它们称为功能 A 和 B。
现在我想开始处理最新的提交 - 同时使用 A 和 B。但是,我的代码没有合并到 GitHub 因为我的审阅者还没有审阅它。
遇到这种情况,我该如何处理?
这就是我所说的“期待分支”。
从A创建一个分支C。现在C有A的内容。将B合并到C。现在C有A和B的内容。
git checkout -b C A
git merge B
将合并提交标记为 C 开始的位置。这个以后会有用。
git tag C-start
在 C 上做一些工作
当A和B合并为master时,pull master。现在 master 拥有 A 和 B 的内容。根据 PR 和合并过程的进展情况,该内容可能与您合并到 C 中的内容不同。如果我们现在推送 C,我们将恢复旧的 A 和 B 提交。
为了避免这种情况,我们只将 C 提交重写到 master 上。这是 C-start 标签有用的地方。我们可以使用它来仅获取写入 C 分支的提交。
# Recommit from C-start to C onto master
git rebase --onto master C-start C
# Delete the C-start tag, we don't need it.
git tag -d C-start
现在只有 C 上的提交已在 master 之上重写。这确保 C 具有合并到 master 中的 A 和 B 的更新内容。
现在提交 C 作为 PR。