Git 请求中没有可用于合并的提交
No commits available for merging in the Git request
我合并了一个分支,假设 developer
到另一个分支,假设 main
.
然后我意识到 developer
中的更改并不意味着在 main
中可用。
我使用 remove branch
选项创建了一个合并请求,排除了我在 main
分支中的更改。我合并了这个请求,main
分支不再包含来自 developer
的更改,而 developer
分支保持原样。
但是,几天后我希望这些更改在 main
中可用,我尝试创建从 developer
到 main
的新合并请求。此请求显示没有要合并的提交。
也许该提交早先已合并到 main
分支中,并且 Git 现在不将它们识别为新提交(尽管它们已被还原)。
现在将 developer
中可用的更改合并到“main”的方法是什么?
您必须采取的步骤可以概括如下(请注意,我将首先概述您可能想要执行的方式,然后概述需要的步骤):
以下是您应该如何操作:
从 main 开始,创建并签出一个新的临时分支以稳定合并
git checkout main
git checkout -b temp-merges
还原你的还原,在这个新分支上
git revert SHA-OF-PREVIOUS-REVERT
如果原合并后developer有进一步的变化,也可以将developer合并到这个新的临时分支
git merge developer
- 验证最终结果,它满足您的任何验收标准,例如 运行 单元测试、构建代码、确保没有合并冲突等。
最后将临时分支合并到main中,接受结果
git checkout main
git merge temp-merges
删除临时分支
git branch -d temp-merges
现在,这允许您在最终合并到 main 之前验证结果。
在最终合并之前,这是您的分支的外观
developer
v
1--2--3--4--5--------------------+
\ \
\ (-(-D))--G
\ / ^
\ / temp-merges
A--B--C--D--(-D)--E--F
^
main
如果您不需要这样做,或者可以在推送之前在主分支上本地执行,所需步骤很简单:
还原还原,在主分支上
git revert SHA-OF-PREVIOUS-REVERT
如果你在原合并后对developer有进一步的改动,你也可以将developer合并到主分支
git merge developer
验证,如有必要
如果你的情况只是原始合并后你对开发者没有任何改变,你只需要做:
还原还原,在主分支上
git revert SHA-OF-PREVIOUS-REVERT
收工。
我合并了一个分支,假设 developer
到另一个分支,假设 main
.
然后我意识到 developer
中的更改并不意味着在 main
中可用。
我使用 remove branch
选项创建了一个合并请求,排除了我在 main
分支中的更改。我合并了这个请求,main
分支不再包含来自 developer
的更改,而 developer
分支保持原样。
但是,几天后我希望这些更改在 main
中可用,我尝试创建从 developer
到 main
的新合并请求。此请求显示没有要合并的提交。
也许该提交早先已合并到 main
分支中,并且 Git 现在不将它们识别为新提交(尽管它们已被还原)。
现在将 developer
中可用的更改合并到“main”的方法是什么?
您必须采取的步骤可以概括如下(请注意,我将首先概述您可能想要执行的方式,然后概述需要的步骤):
以下是您应该如何操作:
从 main 开始,创建并签出一个新的临时分支以稳定合并
git checkout main git checkout -b temp-merges
还原你的还原,在这个新分支上
git revert SHA-OF-PREVIOUS-REVERT
如果原合并后developer有进一步的变化,也可以将developer合并到这个新的临时分支
git merge developer
- 验证最终结果,它满足您的任何验收标准,例如 运行 单元测试、构建代码、确保没有合并冲突等。
最后将临时分支合并到main中,接受结果
git checkout main git merge temp-merges
删除临时分支
git branch -d temp-merges
现在,这允许您在最终合并到 main 之前验证结果。
在最终合并之前,这是您的分支的外观
developer
v
1--2--3--4--5--------------------+
\ \
\ (-(-D))--G
\ / ^
\ / temp-merges
A--B--C--D--(-D)--E--F
^
main
如果您不需要这样做,或者可以在推送之前在主分支上本地执行,所需步骤很简单:
还原还原,在主分支上
git revert SHA-OF-PREVIOUS-REVERT
如果你在原合并后对developer有进一步的改动,你也可以将developer合并到主分支
git merge developer
验证,如有必要
如果你的情况只是原始合并后你对开发者没有任何改变,你只需要做:
还原还原,在主分支上
git revert SHA-OF-PREVIOUS-REVERT
收工。