如何使用libgit2sharp创建一个从本地到远程的新分支?

匿名的

我想使用libgit2sharp在git上创建和删除分支。我想出了这段代码,但它抛出了一个错误repo.Network.Push(localBranch, pushOptions);

using (var repo = new Repository(GIT_PATH))
{
    var branch = repo.CreateBranch(branchName);

    var localBranch = repo.Branches[branchName];

    //repo.Index.Stage(GIT_PATH);
    repo.Checkout(localBranch);
    repo.Commit("Commiting at " + DateTime.Now);

    var pushOptions = new PushOptions() { Credentials = credentials };

    repo.Network.Push(localBranch, pushOptions); // error

    branch = repo.Branches["origin/master"];
    repo.Network.Push(branch, pushOptions);
}

错误消息是 The branch 'buggy-3' ("refs/heads/buggy-3") that you are trying to push does not track an upstream branch.

我尝试在Internet上搜索此错误,但找不到能解决该问题的解决方案。是否可以使用libgit2sharp做到这一点?

空令牌

您必须将本地分支与要推送的远程对象相关联。

例如,给定一个已经存在的"origin"遥控器:

Remote remote = repo.Network.Remotes["origin"];

// The local branch "buggy-3" will track a branch also named "buggy-3"
// in the repository pointed at by "origin"

repo.Branches.Update(localBranch,
    b => b.Remote = remote.Name,
    b => b.UpstreamBranch = localBranch.CanonicalName);

// Thus Push will know where to push this branch (eg. the remote)
// and which branch it should target in the target repository

repo.Network.Push(localBranch, pushOptions);

// Do some stuff
....

// One can call Push() again without having to configure the branch
// as everything has already been persisted in the repository config file
repo.Network.Push(localBranch, pushOptions);

注意:: Push()公开了其他重载,这些重载使您可以动态提供此类信息,而无需将其存储在配置中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

创建一个本地分支以使用libgit2sharp跟踪远程分支

来自分类Dev

Libgit2sharp获取远程分支

来自分类Dev

Libgit2sharp获取远程分支

来自分类Dev

如何使用LibGit2Sharp获取当前分支?

来自分类Dev

如何检索最初使用LibGit2Sharp创建提交的分支?

来自分类Dev

Libgit2sharp,将特定分支推送到新的远程服务器

来自分类Dev

如何获取包含libgit2sharp中的提交的远程分支的列表

来自分类Dev

如何检测在LibGit2Sharp中已创建分支的提交

来自分类Dev

使用LibGit2Sharp克隆给定的分支

来自分类Dev

使用LibGit2Sharp克隆给定的分支

来自分类Dev

使用libgit2sharp从远程存储库获取更新

来自分类Dev

使用libgit2sharp从远程存储库获取更新

来自分类Dev

如何使用libgit2sharp将文件递归添加到master git分支

来自分类Dev

如何使用 LibGit2Sharp 从 fetch 中获取远程更改列表

来自分类Dev

使用EGit创建一个新的远程分支

来自分类Dev

如何在没有本地存储库的情况下使用LibGit2Sharp从网络路径获取Git Repo的分支和提交?

来自分类Dev

如何使用libgit2sharp拉所有新标签

来自分类Dev

Git使用一个命令将远程分支获取到新的本地分支

来自分类Dev

如何使用LibGit2Sharp从Git获取更改?

来自分类Dev

如何使用LibGit2Sharp删除遥控器?

来自分类Dev

如何使用libgit2sharp忽略合并提交?

来自分类Dev

如何使用libgit2sharp忽略合并提交?

来自分类Dev

如何在Mono / MacOsX上使用Libgit2Sharp?

来自分类Dev

Libgit2sharp:如何使用“ git pull”

来自分类Dev

Git refspec用于从远程获取所有内容,但保留本地提交(LibGit2Sharp)

来自分类Dev

如何使用LibGit2Sharp在远程数据库上找到带注释标签的提交ID?

来自分类Dev

更改libgit2sharp中存储库的远程URL

来自分类Dev

Libgit2Sharp:如何在远程仓库上更新符号ref“ HEAD”?

来自分类Dev

Libgit2Sharp:如何在远程仓库上更新符号ref“ HEAD”?

Related 相关文章

  1. 1

    创建一个本地分支以使用libgit2sharp跟踪远程分支

  2. 2

    Libgit2sharp获取远程分支

  3. 3

    Libgit2sharp获取远程分支

  4. 4

    如何使用LibGit2Sharp获取当前分支?

  5. 5

    如何检索最初使用LibGit2Sharp创建提交的分支?

  6. 6

    Libgit2sharp,将特定分支推送到新的远程服务器

  7. 7

    如何获取包含libgit2sharp中的提交的远程分支的列表

  8. 8

    如何检测在LibGit2Sharp中已创建分支的提交

  9. 9

    使用LibGit2Sharp克隆给定的分支

  10. 10

    使用LibGit2Sharp克隆给定的分支

  11. 11

    使用libgit2sharp从远程存储库获取更新

  12. 12

    使用libgit2sharp从远程存储库获取更新

  13. 13

    如何使用libgit2sharp将文件递归添加到master git分支

  14. 14

    如何使用 LibGit2Sharp 从 fetch 中获取远程更改列表

  15. 15

    使用EGit创建一个新的远程分支

  16. 16

    如何在没有本地存储库的情况下使用LibGit2Sharp从网络路径获取Git Repo的分支和提交?

  17. 17

    如何使用libgit2sharp拉所有新标签

  18. 18

    Git使用一个命令将远程分支获取到新的本地分支

  19. 19

    如何使用LibGit2Sharp从Git获取更改?

  20. 20

    如何使用LibGit2Sharp删除遥控器?

  21. 21

    如何使用libgit2sharp忽略合并提交?

  22. 22

    如何使用libgit2sharp忽略合并提交?

  23. 23

    如何在Mono / MacOsX上使用Libgit2Sharp?

  24. 24

    Libgit2sharp:如何使用“ git pull”

  25. 25

    Git refspec用于从远程获取所有内容,但保留本地提交(LibGit2Sharp)

  26. 26

    如何使用LibGit2Sharp在远程数据库上找到带注释标签的提交ID?

  27. 27

    更改libgit2sharp中存储库的远程URL

  28. 28

    Libgit2Sharp:如何在远程仓库上更新符号ref“ HEAD”?

  29. 29

    Libgit2Sharp:如何在远程仓库上更新符号ref“ HEAD”?

热门标签

归档