为什么GIT合并没有显示任何区别



我有一个称为 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的提交已经在开发中,没有合并。

最新更新