如何连接到远程仓库?

时间:2019-01-23 15:16:15

标签: c# git libgit2sharp

我正在使用libgit2sharp,并且卢布正在连接到我的远程仓库。

我可以连接到本地存储库,但是当我尝试使用存储库Stage 3时出现错误

LibGit2Sharp.LibGit2SharpException: failed to make directory './https:': The filename, directory name, or volume label syntax is incorrect.

大概是因为我没有使用正确的语法。我尝试过不带https://和www的情况。我只尝试了myProject / myRepo,但它们似乎不起作用。

这是有问题的代码。 PathToRepo是存储库路径,创建存储库后每当我检查存储库的分支时,即表示它未连接到远程存储库。该回购协议似乎没有任何问题,但只是不与我的回购协议同步。就是我可以输入一些伪造的回购路径,它会毫无问题地创建,但无法正常工作。

 if (!Repository.IsValid(PathToRepo))
            {
                Repository.Init(PathToRepo);
            }

            repo = new Repository((PathToRepo));
            var brnch = repo.Branches.Where(x => x.FriendlyName == Branch).FirstOrDefault();
            if (brnch == null)
            {
                brnch = repo.CreateBranch(Branch);
            }
            Commands.Checkout(repo, brnch);

2 个答案:

答案 0 :(得分:0)

只是一个猜测,但是您可能想尝试使用.git URL。因此,尝试使用类似https://github.com/torvalds/linux.git而不是https://github.com/torvalds/linux

的方法

答案 1 :(得分:0)

看看您正在使用的LibGit2Sharp.Repository类的来源: https://github.com/libgit2/libgit2sharp/blob/master/LibGit2Sharp/Repository.cs

构造函数说String path参数指向目录。我看不到有任何建议可用于网址,因此我怀疑您使用的构造函数仅适用于本地目录中的本地存储库。

快速搜索了相同的源文件后,我发现ListRemoteReferences可能会列出远程仓库的引用,而Clone可能会克隆远程仓库。 (我自己都没有尝试过。)