使用 libgit2 创建“master”第一个分支而不提交

问题描述 投票:0回答:1

在 shell 上我可以使用 bash git 执行以下操作

mkdir -p /tmp/REPO/ROOT && pushd /tmp/REPO/ROOT && git init && git checkout -b anyName

如上面的总结,在给定路径初始化本地 git 存储库并创建一个分支“anyName”。请注意,存储库中还没有提交历史记录。

但是在libgit2中,要创建一个分支,我需要提交,API如下https://libgit2.org/libgit2/#HEAD/group/branch/git_branch_create

int git_branch_create(git_reference **out, git_repository *repo, const char *branch_name, const git_commit *target, int force);

它需要一个 git_commit ,它将基于哪个分支。

有没有办法实现类似于 bash/cmd git cli 支持的功能?

libgit2 libgit2sharp
1个回答
0
投票

我还没有尝试过,但我认为你想在调用 git_repository_init_ext 时设置initial_head:

https://libgit2.org/libgit2/#HEAD/type/git_repository_init_options

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.