go-git报告一个文件未被跟踪,而它应该是未修改的

我正在尝试使用go-git library检查git存储库中特定文件的状态。

这是我试图运行的代码:

    repo, err := git.PlainOpen(fullPathToRepo)
    if err != nil {
        return false, fmt.Errorf("ERROR: Unable to open repository %s\n%s", fullPathToRepo, err)
    }

    workTree, err := repo.Worktree()
    if err != nil {
        return false, fmt.Errorf("ERROR: Unable to open worktree for repository %s\n%s", fullPathToRepo, err)
    }
    workTreeStatus, err := workTree.Status()
    if err != nil {
        return false, fmt.Errorf("ERROR: Unable to retrieve worktree status for repository %s\n%s", fullPathToRepo, err)
    }
    fmt.Printf("%q\n", workTreeStatus.File("releases/filename").Worktree)
    fmt.Printf("%q\n", workTreeStatus.File("/Users/panteliskaramolegkos/myrepo/filename/releases/faros.yaml").Worktree)
    return workTreeStatus.IsClean(), nil

即,我试图既使用完整的,也使用到我想要检查的文件的相关(到repo)路径。

在这两种情况下,打印输出的内容如下:

`?`
`?`

然而,根据documentation,这对应于一个Untracked文件。

特定文件已正确提交并检入。

为什么我得到了错误的状态代码?

转载请注明出处:http://www.fuqingkongyaji.com/article/20230526/2527336.html