Git:使用EGit重命名文件会导致文件历史记录被删除

7
我使用Eclipse EGit插件来处理git存储库。 (我甚至使用它来跟踪工具所做的更改的本地项目。)
然而,我发现了一个问题,使得团队项目的使用不太好: 当重命名文件夹或文件时,我会得到2个提交项: 一个是添加为新文件,另一个是删除。 这样就没有历史记录可以查看谁何时编辑了该文件,也无法回溯演变过程。
这个问题可能不是由EGit引起的,而是git本身。 请参见Renaming in Git and Mercurial: Accuracy and automaticity的答案。
如何在进行大量重构和重命名时保留文件的历史记录?

可能是为什么git会将删除与重命名/复制混淆?的重复问题。 - CharlesB
2
我对Egit不是很了解,但你是否已经打开了重命名跟踪 - John Szakmeister
我已经编辑了测试。我需要保留文件更改的历史记录。@jszakmeister 没有仅跟踪一个操作的选项。这没有意义。 - Paul Verest
1
@PaulV 对不起,我不理解你的回复。根据文档,打开我上面链接的“跟踪重命名”选项似乎可以让历史视图在添加和删除时跟随。Git 跟踪重命名...它是事后推断出来的,但只有在打开正确的选项后才能实现。 - John Szakmeister
3个回答

3

2
从您链接的EGit用户指南中来看:首选项 > 团队 > Git > 历史 > 跟踪重命名 - procrastinate_later

2
请注意,EGit 3.0 中,在历史视图和提交编辑器中的文件差异查看器中添加了重命名检测功能(bug 335082):

rename detection with EGit 3.0


4
虽然是正确的,但它不允许跨重命名进行比较。 - Kevin McCarpenter

0

请参阅git帮助日志,特别是--follow选项。

虽然不知道如何在Egit中执行此操作,但如果Egit不能满足您的需求,为什么不使用其他工具来补充基本功能呢?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接