上周早些时候我询问了如何使用 Eclipse/Egit 解决合并冲突(尝试了解使用 Eclipse/egit 解决合并冲突的过程),从那时起我能够成功解决几次合并冲突次。
然而,今天,我遇到了一个问题......我真的不知道为什么或我做了什么,而且也有点难以解释我所看到的。
我在团队环境中工作,多人处理相同的文件。
因此,我在本地的 Java/Cucumber 项目中进行了一些更改,并测试了更改,并且我的更改起作用了。
我想看看是否会存在合并冲突,所以我进行了一次提交(我对此分支的第一次提交)。 然后我在 Bitbucket 中做了一个“临时”PR,这样我就可以看到它是否显示任何冲突,它确实显示了,我运行了 Bitbucket 说要运行的 2 个 git bash 命令,之后 Eclipse 显示存在冲突在一个文件中(这是一个带有步骤定义的 Java 文件),并且在暂存窗格中还有其他 4 个文件,因此我随后删除了 Bitbucket 中的 PR。
然后我想尝试解决冲突,所以我右键单击有冲突的文件并选择合并工具,然后出现了左侧带有“我们的”的两个窗格,并且来自其他 PR 的文件正在合并右边。
因此,我检查了两个窗格,并将右窗格中的一些小组行(仅在右侧但不在左侧的导入行)复制粘贴到左(“我们的”)窗格中.
然后,我开始向下滚动到 Java 方法所在的位置,以了解左侧和右侧是如何排列的,当我这样做时,我注意到一些奇怪的东西......
在左侧(“我们的”)窗格中,在一个较小的方法(可能 5-6 行)中,我注意到一些非常奇怪的东西。 其中 1 或 2 行被完全不同的内容覆盖,并且本应存在的其中一行消失了:(!!
我回去查看了 Bitbucket 中的提交,我可以看到我期望的所有行。
所以基本上,现在我在 Eclipse 中的一些本地文件不好,所以我想知道的是:是否可以让我的本地文件返回到我之前尝试进行合并之前所做的提交分辨率?
我一直在进行一些搜索,我看到一些帖子说右键单击 Eclipse GIT History 中的提交,然后右键单击“Revert”或“Checkout”?
其中任何一个都会将本地文件恢复到我开始之前的位置吗? 如果是的话,是哪一个?
另外,我已经尽力描述我在上面所做的事情...由此,是否知道我可能做了什么会导致该文件变得如此混乱?
提前致谢。 如果我可以提供任何其他信息,我会尝试。
吉姆
附注我稍后会用上周的上一个问题的链接来更新这篇文章。
编辑1:如上所述,只有 1 个文件存在冲突...所以我想知道:我可以右键单击 git staging 中未暂存窗格中的该 1 个文件,然后单击“替换为 HEAD 修订版”吗?
是否会将该文件替换为刚刚提交的文件版本(位于 Bitbucket 中)? 另外,然后我可以右键单击替换的文件并再次尝试合并工具吗?
只要我没有进行另一次提交,我可以多次这样做吗,对吗?
我不确定我是否理解正确。
但如果
是否可以让我的本地文件返回到我在尝试进行合并解析之前所做的提交?
是你的主要问题,你可以通过在 git 历史记录中合并到的分支的最后一次提交上单击鼠标右键来放弃合并尝试。
然后选择硬重置(头、索引和工作树)