如何解决如何使用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 举报,一经查实,本站将立刻删除。