【问题标题】:How to connect to remote repo?如何连接到远程仓库?
【发布时间】:2019-01-23 15:16:14
【问题描述】:

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

我可以连接到本地 repo,但是当我尝试使用我的 repo https://github.com/myProject/myRepo 时出现错误

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

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

这是有问题的代码。 PathToRepo 是 repo 路径,每当我在创建 repo 后检查它的分支时,我就会发现它没有连接到远程 repo。回购似乎没有问题,但它只是没有同步到我的回购。 IE。我可以输入一些虚假的回购路径,它会毫无问题地创建,但只是不起作用。

 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);

【问题讨论】:

  • 你能显示你用来连接的代码吗
  • 已编辑。我只是使用 new Repository(PathToRepo) 来创建 repo
  • 您的代码看起来不错,问题出在配置上。你是如何克隆这个存储库的?您是手动还是以编程方式更新了 git 远程?

标签: c# git libgit2sharp


【解决方案1】:

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

【讨论】:

  • 每当我使用 https:// 地址时都会引发错误。我觉得语法不对。
【解决方案2】:

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

构造函数说String path 参数指向一个目录。我没有看到任何关于这适用于网址的建议,所以我怀疑您使用的构造函数仅适用于本地目录中的本地存储库。

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

【讨论】:

    猜你喜欢
    • 2021-11-02
    • 2012-06-26
    • 1970-01-01
    • 2021-11-14
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 2018-02-06
    • 1970-01-01
    相关资源
    最近更新 更多