繁体   English   中英

为什么我通过 go-git 提交的日期是 1970 年?

[英]Why are my commits via go-git dated 1970?

我正在通过 go-git 提交更改:

import (
  "github.com/tcnksm/go-gitconfig"
  "github.com/walterjwhite/go-application/libraries/logging"

  "gopkg.in/src-d/go-git.v4"
  "gopkg.in/src-d/go-git.v4/plumbing/object"
)

func stackoverflowCommit(R *git.Repository, W *git.Worktree) {
  username, err := gitconfig.Username()
  logging.Panic(err)

  email, err := gitconfig.Email()
  logging.Panic(err)

  _, err = W.Commit("commit message goes here", &git.CommitOptions{Author: &object.Signature{Name: username, Email: email}})

  logging.Panic(err)
}

在我的日志中,我看到了这个:

Date:   Thu Jan 1 00:00:00 1970 +0000

这是预期的行为吗? 反正我不认为我可以通过约会。 对源代码的快速检查显示 Commit 对象没有任何迄今为止的引用......

是这样,还是我错过了什么?

将当前时间传递给object.Signature object.Signature 的文档显示您可以提供time.Time类型。 这也在 GitHub 上的示例中进行了演示。 一定要导入"time"

_, err = W.Commit("commit message goes here", &git.CommitOptions{
    Author: &object.Signature{
        Name: username, 
        Email: email, 
        When: time.Now(),
    },
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM