我一直在查看libgit2 C API reference,但看不到如何模拟git commit --allow-empty
的行为。 libgit2是否具有内置方法来创建空提交?如果没有,git如何在后台创建一个空的提交,我该如何使用libgit2实现相同的行为?
答案 0 :(得分:7)
使用与父提交相同的树来调用git_commit_create
。那就是:
// Get parent somehow.
git_commit *parent = ...;
// Use the same tree as the parent.
git_tree *tree;
git_commit_tree(&tree, parent);
// Create the commit.
git_commit_create(..., tree, 1, parent);