gpt4 book ai didi

git 扩展以明确跟踪文件重命名?

转载 作者:太空狗 更新时间:2023-10-29 14:47:59 24 4
gpt4 key购买 nike

首先是问题:

git 是否有任何工具或补丁可以专门存储有关文件重命名的元数据(很像 git-svn 对“git-svn-id”的处理)?如果做不到这一点,是否有另一个 DVCS 可以为我提供快速的本地分支(如 git)和正确的文件重命名跟踪(如 bazaar)?

现在我需要一些背景知识:

我开始使用 git 几个月了,我非常喜欢它。除了它不跟踪重命名这一事实。

在我看来,不跟踪重命名的决定是基于错误的假设,即重要的是内容,而不是名称。我不同意。让我举一个真实世界的例子。

我有一个类 RefinementPresentation,它被用作网页 View 模板中的模型。我将该类移动到一个单独的包(模型),然后,因为该类不仅仅是一个模型并且包含大量逻辑,所以我通过将逻辑移动到另一个类来重构它。可以想象,现在该类与原始类几乎没有相似之处。但从概念上讲,它是同一件事——它仍然是 View 的模型。 这就是我的观点。文件是同一个文件(重命名/移动)还是不同的文件是我脑海中的一个概念,没有任何工具可以或应该尝试为我做这件事。如此不同,没有多少启发式或猜测将使 git 认识到这实际上是一个移动的文件。这意味着 git log 永远不会向我显示过去的历史记录。当然,历史仍然存在——它并没有丢失——只是更难找到了。因此我的问题是:有没有办法避免这种不便?

编辑:在单独的提交中移动和重构是一个很好的解决方法,请参阅下面的评论(感谢 Eevee!)。

最佳答案

最少的努力,最大的返回:在单独的提交中移动和重构文件。

就其值(value)而言,git 在这里并不完全疯狂并且有various sensible reasons对于它的作用——并不是说它能带来多大的安慰。 :)

关于git 扩展以明确跟踪文件重命名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14826983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com