Git - 合并后缺少日志条目

时间:2012-10-13 19:42:41

标签: git merge intellij-idea git-merge git-log

在合并出错之后,我似乎已经损坏了我的Git存储库。我做的是:

  • git checkout< main branch>
  • git merge< feature branch>
  • 我遇到了很多冲突,我通过Git Extension / kdiff
  • 解决了这些冲突
  • 解决了最后一次冲突后,Git Extensions问我是否想要提交。我回答“否”,因为我想在提交之前更多地检查合并结果。
  • 然后我使用IntelliJ中的“更新项目”从中央存储库中提取最新的更改,这样我即将推出的“git push”就不会被拒绝。我认为IntelliJ中的“更新项目”类似于“git stash; git pull --rebase; git stash apply”。

    “更新项目”命令未发出警告,错误或合并冲突。

    我猜这一步是我问题的根源--Git不知何故失去了正在进行的合并。

  • 然后我提交合并并将其推送到中央存储库

当我使用Git Extensions浏览存储库历史时,我现在看到两个问题:

  • Git似乎没有意识到功能分支已合并到主分支中。

    合并的结果很好,但Git Extensions中分支历史的图形表示显示从功能分支到主分支的行没有。我的合并提交的日志条目只是从主分支继续进行,就像常规的非合并提交一样。

  • 当我执行“git log - <在功能分支中更改的文件>”时它不显示实际更改文件的所有提交的日志条目。

    对于某些文件,缺少合并前功能分支上所做更改的日志条目。

    对于其他文件,即使在冲突解决期间修改了文件,我的合并提交的日志条目也会丢失。

    如果我使用“git log --full-history”,我可以看到丢失的日志条目。

任何人都可以解释出现了什么问题以及我可以采取哪些措施来解决问题?我花了几个小时修复合并冲突,如果可能的话,我想保留合并结果而不再重做所有内容。

谢谢!

0 个答案:

没有答案