是否可以仅使用libgit2获取新分支?这意味着不会更新refs/remotes/<existing_branch>
,只会创建新的refs/remotes/<new_branch>
。不确定应该用refs/heads/<new_branch>
做什么,但也可能应该创建,对吗?
目前,我看到获取任何new-branch-fetch行为的唯一方法是使用NULL为refspecs调用git_remote_fetch()
。然而,这将更新整个存储库。或者,我应该致电git_remote_ls()
并为*fetch
创建明确的refspec吗?
答案 0 :(得分:2)
这些不是Git中任何地方存在的语义,所以你必须自己做。如果你想弄清楚哪些分支是新的,你必须在获取之前使用git_remote_ls()
,找出哪些是新的分支,然后使用refspecs列表只下载那些。
我不知道你使用NULL
实现这种行为是什么意思,因为没有办法设置默认的refspec来做到这一点。这只会像git fetch
一样,并使用配置的refspecs给定的遥控器。