go-git 返回的未知状态类型

Unknown status type returned by go-git

我正在尝试使用 go-git library.

git 存储库中获取检查文件的状态

所以我是运行这个代码片段:

    var status = git.Status{}
    var fileStatus *git.FileStatus
    fileStatus = status.File(fullPathToApp)
    fmt.Printf("%v\n", fileStatus.Staging)
    fmt.Printf("%v\n", fileStatus.Worktree)

我得到的只是两个 63 被打印出来

63
63

这在git状态方面对应什么?

我似乎无法与 StatusCodedocumentation 直接相关。

顺便说一下,fullPathToApp 指向的文件是干净的,即它已被跟踪和提交。

我认为您需要先打开存储库和工作树

    r, err := git.PlainOpen(pathToRepo)
    if err != nil {
        log.Fatal(err)
    }

    w, err := r.Worktree()
    if err != nil {
        log.Fatal(err)
    }

之后获取状态

    ws, err := w.Status()
    if err != nil {
        log.Fatal(err)
    }

要获取状态,您只需输入存储库中的文件名

    fmt.Printf("%q\n", ws.File("filename").Staging)
    fmt.Printf("%q\n", ws.File("filename").Worktree)

I cannot seem to make a direct relation to the documentation of the StatusCode.

返回的状态码是一个字节

63 = ?