小编use*_*236的帖子

LibGitSharp:Checkout Remote Branch

我尝试通过LibGitSharp结帐Remotecranch.在git中你使用这个命令:

git fetch origin
git checkout -b test origin/test
Run Code Online (Sandbox Code Playgroud)

在较新的版本中它只是:

git fetch
git checkout test
Run Code Online (Sandbox Code Playgroud)

所以我尝试了这个代码:

repo.Fetch("origin");
repo.Checkout("origin/" + Name);
Run Code Online (Sandbox Code Playgroud)

Fetch和Checkout运行没有任何问题,但没有Remotebranch的副本.

有没有人有想法用其他方法检查远程?

我的另一种方法是在Repository中创建Branch并将其推送到Remote:

Branch newBranch = repo.Branches.Add(Name, repo.Branches["master"].Commits.First());
repo.Network.Push(newBranch);
Run Code Online (Sandbox Code Playgroud)

但我得到这个例外:

您尝试推送的分支"Test1"("refs/heads/Test1")不会跟踪上游分支.

也许我可以将Branch设置为上游分支,但我不知道如何.

编辑:我没有正确解释,所以我试着更好地描述Fetch和Checkout在我的程序中的作用.Fetch命令正确执行.现在,如果我使用checkout命令,它应该创建Remotebranch的本地分支,但它不会.我也试过repo.Checkout(name),没有"origin /",但是它会抛出异常:No valid git object identified by '...' exists in the repository.

git c#-4.0 libgit2sharp

5
推荐指数
1
解决办法
2749
查看次数

标签 统计

c#-4.0 ×1

git ×1

libgit2sharp ×1