在评论历史中是否有 git 等同于 CVS 的 $Log$?

Is there a git equivalent for CVS's $Log$ in Comment History?

我正在从 CVS 迁移到 git。在CVS中,我可以在我的评论区使用$Log$,CVS会在$Log$处写评论。在 git?

中是否有等效项?

我查看并看到了可用的强大命令行和附加工具,如果没有等效项,我将最终使用它们,但我只是想知道是否存在等效项。

Git 不支持这种设计,因为你不能在提交后用提交信息更新文件,因为 git 首先校验文件。

解决方法是使用 attributes, using the "smudge" and "clean" filters and a post-commit hook。这些基本上所做的是在签出后用信息更新文件,并在签入之前删除信息。

我对 $Date$$Revision$ 关键字(后者实现为使用标签)的解决方案(写在 Python 中)是 available on github。您应该能够将其扩展为 $Log$.

然而:

如果你想要这个,你应该仔细考虑,因为这种方法有潜在的问题;

  • 它需要外部程序。
  • 如果你想使用它,你必须设置一个 post-commit 钩子。
  • 它可能不便携(我没在 ms-windows 上试过)。
  • 如果您将源代码和已编译的程序都签入存储库,可能会导致循环。

最后但同样重要的是,git 命令,例如git loggit diff 可以为您提供 比静态日志消息更多 的信息。