在评论历史中是否有 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 log
和 git diff
可以为您提供 比静态日志消息更多 的信息。
我正在从 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 log
和 git diff
可以为您提供 比静态日志消息更多 的信息。