为了账号安全,请及时绑定邮箱和手机立即绑定

将当前分支与 git2go 中的上游(或任何其他参考)合并

将当前分支与 git2go 中的上游(或任何其他参考)合并

Go
慕森卡 2021-10-18 17:09:59
我正在尝试在 git2go 中复制以下命令的结果:git merge -X theirs --no-ff -m "Commit msg" <commit>我能够使用 成功获取上游远程remote.Fetch(nil, nil, ""),但我无法进行实际合并。这是我用于合并的代码:// get the upstream ref's annotated commit to merge inhead, _ := repo.Head()upstream, _ := head.Branch().Upstream()annotatedCommit, _ := repo.AnnotatedCommitFromRef(upstream)// prepare merge and checkout optionsmergeOpts, _ := git.DefaultMergeOptions()mergeOpts.FileFavor = git.MergeFileFavorTheirscheckoutOpts := git.CheckoutOpts{    Strategy: git.CheckoutUseTheirs,}// do the mergeerr := repo.Merge([]*git.AnnotatedCommit{annotatedCommit}, &mergeOpts, &checkoutOpts)// no error here我知道在此之后我需要检查索引是否有任何冲突,并实际与两个父母一起提交,但是我现在被困在这里,因为他们Merge()似乎没有做任何事情(没有合并,没有结帐)。
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

默认情况下,Checkout 正在执行试运行,因此为了能够成功合并,我必须使用以下内容:


checkoutOpts := git.CheckoutOpts{

    Strategy: git.CheckoutSafe | git.CheckoutRecreateMissing | git.CheckoutAllowConflicts | git.CheckoutUseTheirs,

}

唯一可用的文档在checkout.go 源中。


查看完整回答
反对 回复 2021-10-18
  • 1 回答
  • 0 关注
  • 186 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信