我正在尝试使用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