我有一个称为 dev
的分支,我在其中为EJB更改放了一些代码并将其承诺将其承诺到GitHub,但是代码不起作用,因此为了保留工作,我在dev
中创建了一个分支机构称为ejb_change
并推到GitHub。我在dev
分支中恢复了代码,并在dev
分支中提交了更多代码,现在我想将ejb_change
分支合并到dev
分支。但是,当我做git merge ejb_change
/提高拉力请求时,Git告诉没有合并的变化。我无法理解
如何将ejb_change
更改放在当前dev
分支的顶部
如果您的 recredted (例如,使用的 git revert
(,则ejb_branch指向的修订是Dev的历史的一部分...尝试将ejb_change合并到开发处,git会告诉你,那里没有任何合并。
如果是这种情况(我知道是这样的,因为您已经说过(,那么您可以尝试挑选樱桃的原始修订(不确定它是否有效(当前分支的历史(...或恢复逆转修订...不优雅,但应该起作用。
我也有类似的问题,也是由revert
引起的。我修复的方法是在dev
分支上制作git reset --hard <commit hash>
,而commit hash
是错误代码之前的提交。 a -> b -> c ,如果b是错误的代码,则C是恢复的,因此请使用A。由于reset
dev
历史记录,该解决方案确实需要force push
请注意
的提交时才这样做。--hard
,因为它将在选定的提交后删除任何更改,因此,只有在您确定不需要将要重置的提交
之后,您的拉请请求应正常工作。
我想有更好的解决方案,但这是我所知道的。
说
我在Dev Branch中恢复了代码,并提交了更多代码
您的意思是您提出了一些代码来消除更改?还是您是否将GIT历史记录到以前的状态?如果您只是提出了一个代码来解除更改,那么比EJB_CHANGE的提交已经在开发中,没有合并。