“git合并原始主机”;已经是最新的”;
git新手。在Mac上使用git enterprise 所以我一直在IntelliJ IDEA的一个分支工作,我们称之为“foo”。所以师父->福 对我的更改感到满意,因此我将其推送/提交到远程回购。在这一点上,我已经准备好开始将更改合并到master中的过程。但首先,我想将master中的任何更改合并到我的分支中并测试它们 所以,在“foo”仍处于签出状态的情况下,我运行了“git merge origin/master” 这带来了我所期待的变化。我解决了任何冲突。在这一点上,我找到了一些我想在合并之前修改的东西。因此,在IntelliJ中,我转到“本地更改”选项卡下的“版本控制”窗口。右键单击并选择“还原” 这按预期恢复了合并。我做了更改并再次运行“git合并源/主”。但现在它说“已经是最新的”“git合并原始主机”;已经是最新的”;,git,merge,Git,Merge,git新手。在Mac上使用git enterprise 所以我一直在IntelliJ IDEA的一个分支工作,我们称之为“foo”。所以师父->福 对我的更改感到满意,因此我将其推送/提交到远程回购。在这一点上,我已经准备好开始将更改合并到master中的过程。但首先,我想将master中的任何更改合并到我的分支中并测试它们 所以,在“foo”仍处于签出状态的情况下,我运行了“git merge origin/master” 这带来了我所期待的变化。我解决了任何冲突。在这一点上,我找到了一些我想
救命啊 合并由两部分组成-更改当前快照中的文件,并与两个父级进行提交,告知git合并已完成。当您对合并提交执行
git revert
时,它会撤消前者,但不会撤消后者。就git而言,您已经合并到origin/master
。还原合并提交后“重新合并”的唯一方法是再次调用git revert
,将上一个git revert
生成的提交传递给它;您必须“还原还原”。我建议您在合并提交上启动一个分支,并在那里进行更改。然后,您可以使用更改进行新的提交。我看不出有任何理由“恢复”
如果确实要在进行更改之前撤消合并,则需要从命令行使用
git reset
,或在IntelliJ IDEA的版本控制窗口中使用“reset to hear…”。然后您可以进行更改,但还必须在解决冲突的同时再次进行合并。这似乎比它值得做的工作多得多。您想“恢复”合并的原因是什么?您也可以轻松地进行更改,并在合并的基础上提交。是否git revert
创建一个新的提交来“撤消”更改?@code peedient-是的,git revert
始终创建一个新的提交。当然,这里有一个基本假设,即“revert”IntelliJ IDE中的命令转换为git revert
。根据我的经验,GUI菜单项和命令行之间的这种转换有时不那么直译。特别是,Android Studio中的“Revert”命令相当于我所看到的git reset--hard HEAD。这在IntelliJ中可能有所不同。git reset
只会还原已提交的更改-如果他必须执行冲突解决,这不会自动发生git reset
,在没有--hard选项的情况下执行时,只会取消显示要提交的更改,这意味着如果他没有正确提交@EddiePrislac,他将不需要再次进行合并…我忘了包括--hard
和--soft
与其他选项之间的差异。我几乎总是使用--hard
,所以我经常忘记其他可用选项。