我正在将一个svn repo移植到git(使用来自https://www.negativetwenty.net/redmine/projects/show/svn2git的 svn2git )并且由于svn不跟踪合并,我需要手动编辑.git/info/grafts .为此,我启动gitk,在提交消息中搜索术语"Merge",验证合并提交是否具有正确的祖先并依次填充.git/info/grafts.
我遇到的问题是gitk似乎与"master"分支混淆了.它经常表明主人从一个分支"分叉"并被合并成一个分支后跟,而实际上则相反.
为什么它无法理解master应该尽可能"线性",它应该是从它分叉的分支,而不是相反?这是一个gitk问题还是git repo的历史不完整?似乎"git log --pretty = oneline --graph"能够显示正确的行为,所以我认为它可能是一个gitk问题.
我也尝试过咯咯和qgit,但两者都有问题.我发现giggle的树很难理解(例如,合并是水平的,而在qgit和gitk中它们是倾斜的......)qgit似乎没有显示一些提交(在svn中创建分支的提交在两者中都显示为git提交"git log --pretty = oneline --graph"和gitk,但不是qgit也不是咯咯笑.
请注意,我在测试中使用"gitk --all".
所以我的问题是: - 我如何强制gitk尽可能线性显示master?理想情况下,"左对齐",分支从它分叉,而不是相反."git log --pretty = oneline --graph"似乎正在以正确的方式进行,但是gitk呢?
谢谢!
编辑:截图链接已死.以前说过:
我上传了不同工具的截图:git log,gitk,giggle,qgit
看看"git log"如何显示正在合并到trunk的分支,而gitk显示trunk正在分支中合并.Giggle和qgit显示正确的合并,但是它们经常会丢弃一些提交(创建分支),因此很难手动编辑.git/info/grafts文件.
\n\n\n查看“git log”如何显示正在合并到主干的分支,而 gitk 显示正在合并到分支的主干。
\n
这是因为 gitk 可以像许多其他工具一样自由地重新排序parents\xc2\xa0\xe2\x80\x94。最左边的父级并不总是第一个父级。通常,工具会将父母放在有空间的地方。它最终提供了更丰富的视图。比较:
\n\n我发现 git-log 的图形不太符合人体工程学 - 它需要更多的空白行。
\n