Skip to content
索引

贡献

Ignoring commits when running git blame / 运行git blame 时忽略commits

Git blame

Git blame 是一个 Git 命令,用于显示文件的每一行是谁在何时进行的修改。它可以帮助你确定文件的每一部分是由哪个开发者贡献的,以及贡献的时间和提交信息。通过执行 git blame 命令,你可以逐行查看文件的修改历史,了解每一行的起源和相关信息,有助于代码审查、追溯 bug 以及了解代码演进过程中的贡献者。

在 Git 中,git blame 命令用于逐行地显示指定文件的每一行是由哪个提交引入的。默认情况下,git blame 会考虑所有的提交记录,包括文件中的所有更改。然而,有时候我们希望排除某些提交,例如仅关注代码逻辑变更,而忽略格式调整等次要更改。

为了实现这个目的,可以创建一个名为 .git-blame-ignore-revs 的文件,其中列出了要忽略的提交哈希值(commit hash)。每个提交哈希值占据文件中的一行。这些提交将在运行 git blame 时被忽略,即不会被考虑在内。

接下来,要让 git blame 命令使用 .git-blame-ignore-revs 文件,需要运行以下命令:

sh
git config --local blame.ignoreRevsFile .git-blame-ignore-revs
git config --local blame.ignoreRevsFile .git-blame-ignore-revs

这将在本地 Git 配置中设置 blame.ignoreRevsFile 选项,指向 .git-blame-ignore-revs 文件,从而告诉 git blame 命令使用这个文件来忽略特定的提交。注意,该配置只对当前仓库有效(--local 参数指定)。

通过配置 blame.ignoreRevsFile,你可以灵活地控制 git blame 命令的行为,选择性地排除一些提交以获得更精确的代码溯源信息。

.git-blame-ignore-revs

# chore: enable prettier trailing commas (#11167)
134ce6817984bad0f5fb043481502531fee9b1db
# chore: rename test packages (#11172)
5170e44920458090b8b43ee9cfe5010c25dfe22b
# chore: enable prettier trailing commas (#11167)
134ce6817984bad0f5fb043481502531fee9b1db
# chore: rename test packages (#11172)
5170e44920458090b8b43ee9cfe5010c25dfe22b

Testing Vite against external packages / 使用外部包对 Vite 进行测试

在测试自己对 Vite 进行的本地修改时,你可能希望将其与使用 Vite 构建的其他包进行测试。对于 pnpm,你可以使用 pnpm.overrides 来实现这一点。注意,pnpm.overrides 必须在根目录的 package.json 文件中指定,并且你必须在根 package.json 中将该包列为依赖项

json
{
  "dependencies": {
    "vite": "^4.0.0"
  },
  "pnpm": {
    "overrides": {
      "vite": "link:../path/to/vite/packages/vite"
    }
  }
}
{
  "dependencies": {
    "vite": "^4.0.0"
  },
  "pnpm": {
    "overrides": {
      "vite": "link:../path/to/vite/packages/vite"
    }
  }
}

然后重新运行 pnpm install 来链接该包。

上述配置中,我们在 dependencies 中列出了 vite 的版本要求,并在 pnpm.overrides 中指定了要使用的本地修改版本的路径。link:../path/to/vite/packages/vite 表示将指定路径下的 Vite 包链接到项目中,使得项目使用本地修改版本的 Vite。

通过这样的配置,你可以方便地将自己的修改应用到 Vite 项目中,并进行测试和验证。

Released under the MIT License.