小编Vis*_*hnu的帖子

如何将 git 提交日期插入正在提交的文件中?

我正在执行一项任务,需要将 git 提交日期写入正在提交的文件之一。我需要它在几种情况下发生:

  • 当分支被推送到远程仓库时
  • 将其合并到 master 中时

具体来说,更改应该如下所示:

提交前: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(具有污迹和清洁过滤器)添加到我的项目。

以下是我在项目中配置的内容:

  • .git配置:
    clean  = .git_filters/dater.clean
    smudge = .git_filters/dater.smudge %f 
Run Code Online (Sandbox Code Playgroud)
  • .git属性:
*.java filter=dater 

Run Code Online (Sandbox Code Playgroud)
  • .git_filters:(在父存储库下创建单独的文件夹)
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)

当我尝试使用上述配置时..它不起作用..请寻求帮助来解决此问题...

versioning git version-control

5
推荐指数
1
解决办法
1057
查看次数

标签 统计

git ×1

version-control ×1

versioning ×1