我正在尝试使用 C 中的 libgit2 提取存储库。该库提供了一个示例(checkout.c)并且其编译没有错误。
当我在没有任何参数的情况下启动客户端时,print_usage通知我必须指定branch。
我尝试查看主分支(而不仅仅是这个分支)
git_client checkout --git-dir C:\Users\me\cgit_test --progress --perf master
但是我遇到了这种错误:
failed to resolve master: revspec 'master' not found
Bad news:
revspec 'master' not found
我应该如何或应该指定什么才能使分行成功结账?
你们有一个名为
master
的分行吗?或者您正在克隆一个存储库并且 it 有一个名为 master
的分支?
当您运行
git checkout
时,它将检查远程分支,并基于此为您创建一个本地分支。因此,如果您克隆具有分支 foobar
的存储库,则可以运行 git checkout foobar
。
当您这样做时,它会说:
branch 'foobar' set up to track 'origin/foobar'.
Switched to a new branch 'foobar'
libgit2 的示例代码没有这样做。它并不是要完全重新设计 git CLI 的“checkout”命令,而是要引导您完成 libgit2 API 并向您展示它是如何工作的。