我正在执行一项任务,需要将 git 提交日期写入正在提交的文件之一。我需要它在几种情况下发生:
具体来说,更改应该如下所示:
提交前:private String DATE="$DATE$"
提交后:private String DATE="$DATE: 2020-05-08 18:19:25 $"
到目前为止,这是我尝试过的:
我已关注https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes#Keyword-Expansion并将 .gitattributes、.gitconfig、.git_filters(具有污迹和清洁过滤器)添加到我的项目。
以下是我在项目中配置的内容:
clean = .git_filters/dater.clean
smudge = .git_filters/dater.smudge %f
Run Code Online (Sandbox Code Playgroud)
*.java filter=dater
Run Code Online (Sandbox Code Playgroud)
dater.clean:
#!/usr/bin/sh
sed s/$Date$/`date +%Y%m%d`/g
Run Code Online (Sandbox Code Playgroud)
dater.smudge:
#! /usr/bin/env ruby
data = STDIN.read
last_date = `git log --pretty=format:"%ad" -1`
puts data.gsub('$Date$', '$Date: ' + last_date.to_s + '$')
Run Code Online (Sandbox Code Playgroud)
当我尝试使用上述配置时..它不起作用..请寻求帮助来解决此问题...