我正在尝试使用objective-git创建一个 Git 存储库。关于 GT 类如何协同工作以创建存储库的文档有些缺乏,所以我有点卡住了。
这是我到目前为止所做的工作:
GTRepository *newRepo = [GTRepository initializeEmptyRepositoryAtFileURL:repoURL error:&error]
然后我将一堆文件复制到该目录中。然后我可以在 Git 客户端中打开 repo 并在工作目录中查看这些文件。到目前为止一切看起来都不错。但这就是我卡住的地方,我下一步要实际创建一个分支并提交这些文件是什么?
编辑:我现在已经从我的 GTRepository 获得了 GTIndex(虽然,索引的 fileURL 属性仍然为零,所以我不确定如何生成该文件)。我遍历我的文件,调用addFile:error:
它在我的索引中创建 GTIndexEntries。然后我调用writeTree:
并取回我传入的 GTTree [repository createCommitWithTree:newTree message:@"Initial Commit" parents:nil updatingReferenceNamed:nil error:&error];
。这将返回一个有效的 GTCommit 对象并且没有 NSError,但我希望 [repository headReferenceWithError:&error]; 现在将返回对新创建的提交的引用,但它仍然返回 nil。我是否缺少完成此提交的步骤?