合并上的git segfaults-子模块冲突
我试图用“git merge”命令组合两个分支上的代码,但在此过程中git崩溃了。我需要找到另一种方法来合并这些分支 要将合并输出增加到调试级别,我运行了: $ export GIT_MERGE_VERBOSITY=5 事实证明,在这一点上,git merge已经崩溃。我怎么知道的? -在Cygwin下运行git时:合并上的git segfaults-子模块冲突,git,merge,branch,git-submodules,Git,Merge,Branch,Git Submodules,我试图用“git merge”命令组合两个分支上的代码,但在此过程中git崩溃了。我需要找到另一种方法来合并这些分支 要将合并输出增加到调试级别,我运行了: $ export GIT_MERGE_VERBOSITY=5 事实证明,在这一点上,git merge已经崩溃。我怎么知道的? -在Cygwin下运行git时: $ git merge origin/PH-RELEASE-146.0 11 [main] git 4352 _cygtls::handle_exceptions: E
$ git merge origin/PH-RELEASE-146.0
11 [main] git 4352 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack)
Segmentation fault (core dumped)
- 在Linux下运行git时,使用'ulimit-c unlimited':
- 在这两种情况下,.git/index.lock将保留,并且必须在任何git命令再次工作之前手动删除: $git状态 致命:无法创建“.git/index.lock”:文件存在
- 在e0a5fa1中,子模块构建为8dc84b6
- 在ce62bf1中,子模块构建应为b3efae4
Cygwin git版本1.6.1.2尝试在linux上升级git,1.6.3.3是最新版本,如果这对尝试William的想法没有帮助的话。您可以尝试在合并之前从每个分支中删除子模块,然后在合并之后添加子模块。我尝试了,但不幸的是没有成功,因为git通过提交历史追溯到次祖先,子模块存在并且不能删除。我最终解决了这个问题,将提交从一个分支挑选到另一个分支,但故意跳过更新子模块的任何提交。幸运的是,我们的子模块总是在提交中更新,没有任何其他更改!一旦我这样做了,我就能够使用“git merge-s resolve origin/PH-RELEASE-146.0”将两个分支组合在一起(合并提交中唯一的区别是缺少子模块),然后再添加子模块。是的,我可以确认1.6.3.3没有出现此问题。合并会正确识别与子模块的冲突,但不会使其崩溃,而是继续合并并将其他文件添加到索引中。
$ git merge origin/PH-RELEASE-146.0
11 [main] git 4352 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack)
Segmentation fault (core dumped)
$ ulimit -c unlimited; ls -l core; git merge origin/PH-RELEASE-146.0; ls -l core
ls: cannot access core: No such file or directory
Merging HEAD with origin/PH-RELEASE-146.0
...
...
Merge with strategy recursive failed.
-rw------- 1 user group 1589248 Jul 29 12:48 core