微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用go-git签出新的本地分支?

如何解决如何使用go-git签出新的本地分支?

当我尝试使用工作树结帐时;它不起作用,代码返回错误

err = worktree.Checkout(&git.Checkoutoptions{
    Create: true,Branch: "main",})
if err != nil {
    log.Fatal("Cannot create 'main' branch\n" + err.Error())
}

输出

[FATA] Cannot create 'main' branch
reference not found

使用时出现相同的错误

repository.CreateBranch(&config.Branch{
    Name: "main",})

解决方法

GitHub will soon rename master to main为真,但Git信息库的默认分支(无论是否在GitHub上)目前仍为master

所以先尝试:

err = worktree.Checkout(&git.CheckoutOptions{
    Create: true,Branch: "master",})

但是,如果目标是创建一个新分支,请确保存储库已初始化或已签出到有效分支。
例如,请参见repository_test.go

    r,_ := Init(memory.NewStorage(),nil)
    testBranch := &config.Branch{
        Name:   "foo",Remote: "origin",Merge:  "refs/heads/foo",}
    err := r.CreateBranch(testBranch)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。