我有一个git存储库,其中包含大约一百个.cpp和.h文件。每个文件都有一个简短的标头,其中包含许可证数据。我想用几行元数据扩展这一部分,以显示上次创建和修改特定文件的日期。
是否存在良好的做法来自动管理此问题而不与git冲突?
答案 0 :(得分:1)
使用git过滤器。 Git Book有一个例子可以做到这一点。参见https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes,从“另一个有趣的示例以RCS样式获得$ Date $关键字扩展”开始。
有两个过滤器,一个过滤器在将数据添加到提交之前过滤数据(干净过滤器),另一个过滤器将文件从提交中检出到工作树(涂抹过滤器)。获取脚本并配置过滤器:
$ git config filter.dater.clean clean_date
$ git config filter.dater.smudge expand_date
答案 1 :(得分:0)
这可以通过git hook完成。
假设所有文件都遵循模板。例如:
Traceback (most recent call last):
File "C:/Users/WantedStarling/Desktop/pygame.py", line 1, in <module>
import pygame
File "C:/Users/WantedStarling/Desktop\pygame.py", line 5, in <module>
event = pygame.event.wait()
AttributeError: 'module' object has no attribute 'event'`enter code here`
使用简单的脚本创建可执行文件/**
* Some license information
*
* Last update: Thu, Jun 28, 2018 8:19:47 PM
*/
// Code comes here...
,以替换“最新更新:”行:
.git/hooks/pre-commit