gpt4 book ai didi

git - 是否可以在不更改 `git blame` 报告的信息的情况下更改代码?

转载 作者:行者123 更新时间:2023-12-03 17:33:40 31 4
gpt4 key购买 nike

假设我有一个 git 存储库,其中包含来自多个用户的代码,但其中一些不遵守缩​​进准则并使用空格而不是制表符。改变这一点很容易,但通过清理他们的代码,git blame变得不那么有用了,从那以后我会因为其他人的代码而受到指责。

我已经看到可以使用相应的标志指定提交的作者和日期,但这种解决方案对我来说并不理想,因为我必须遍历用户并依次更改每个用户的缩进。我还必须找出更改行的原始提交日期才能使用 --date旗帜。

我也知道git blame -w忽略此类空白更改,但我想让更改透明。我觉得使用 -w 很麻烦每当我blame . (作为旁注,我怀疑其他人在从 blame 中提取信息时会记得使用该标志。)如果更改不仅仅与空格相关(例如用双引号交换单引号),这种方法也会崩溃)。

是否可以在不考虑更改行的作者的情况下对 git 中的跟踪文件进行更改,理想情况下,不更改原始提交的日期?

最佳答案

我还没有测试过这个核心 git 功能,但无论如何,在这个答案的后半部分,我说一个非常不同的策略(GitLens),我已经很好地测试了......
Git 2.23 版推出了一项功能,可以满足您的需求。在执行 git blame 时,您可以指定一个包含要忽略的提交列表的文件。
脚步:

  • 仅进行一次或多次具有代码格式更改的常规提交。
  • 附带说明:我建议使用 Prettier 生成这样的提交。 . (这是一个工具,可让您运行 npx prettier -w --single-quote **/* 之类的命令来格式化您的文件。警告:该特定命令可能会更改/改进您运行它的文件夹中的大多数文件,并且它将遵循您拥有的任何 smlink在该文件夹中(如果您使用 smlinks)更改其他喜欢的文件夹中的文件。(您必须安装 Node 才能使用 npx。))

  • 按照 https://akrabat.com/ignoring-revisions-with-git-blame/ 上的说明进行操作在执行 git blame 时忽略这些提交。

  • 可选的奖励步骤:阅读某人在 that 上发表的评论文章说如何获得 GitLens VS Code 的分机号注意列出要忽略的提交的文件。从不使用 git blame再次在命令行上,只需使用 GitLens 的 git 历史工具。
  • 关于 GitLens 的额外提示:
  • 一定要把"gitlens.blame.ignoreWhitespace": true,您的 .vscode/settings.json 中的设置/线路文件。 (该文件用于该项目中每个人的 vscode 设置。)
  • GitLens 提供了许多查看 git blame 的好方法,但是当我搜索 git 历史记录时,大多数情况下,仅显示一行的最后一个编辑器的浅层 git blame 不足以满足我的需求。因此,当我想查看特定行的历史记录时,我会使用左侧面板。请务必按下此处显示的小按钮(只有将鼠标悬停在其上才会显示)vscode screenshot of button to toggle looking at git blame history of an entire file or for a single line从显示整个文件的 git 历史切换到仅显示光标所在行的 git 历史,并可靠地跟踪文件重命名。 这很好用,我什至不需要做 中的事情https://akrabat.com/ignoring-revisions-with-git-blame/ .
  • 在做上一个 Gist 中提到的东西时,我也发现我需要经常使用 Pin History Button pin history button screenshot .我会告诉你我遵循的神奇有效的步骤来使用它。我知道我在下面列出的步骤看起来很长,但是一旦您知道这些步骤,它们只需要大约 1 分钟即可完成。以下是步骤:
  • 查看安装了 GitLens 扩展的 VS Code 中的文件。 (希望你已经这样做了,因为 vscode 很棒而且相对轻量级。)
  • 将光标放在要了解其历史记录的行上。
  • 确保您已打开线路历史记录模式。 (见第一张截图。)
  • 切换 Pin History 按钮
  • 单击一个提交,在那里的提交列表中。单击一对,直到找到最旧的一个,它会立即在屏幕中间向您显示一个看起来不错/与您关心的行(通常是列表中的顶部提交)相关的差异。
  • 将光标放在差异左侧您关心的行的版本上。
  • 按两次 Pin History 按钮将其关闭,然后再打开。
  • 回到第 5 步,重复,直到你找到将那个讨厌的错误引入你漂亮代码的提交,这样你就可以知道那个提交的作者,并向他们发送礼貌的说明,让他们知 Prop 体的错误类型下次他们可能要特别注意。


  • 关于git - 是否可以在不更改 `git blame` 报告的信息的情况下更改代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50090625/

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