使用Objective-Git创建存储库

时间:2013-11-21 00:43:02

标签: git cocoa libgit2 objective-git

我正在尝试使用objective-git创建一个Git存储库。

指出,文档在某种程度上缺乏GT类如何协同工作来创建存储库。

这是我到目前为止所做的工作:

GTRepository *newRepo = [GTRepository initializeEmptyRepositoryAtFileURL:repoURL error:&error]

然后我将一堆文件复制到该目录中。我可以在Git客户端中打开repo,然后在工作目录中查看这些文件。到目前为止一切看起来都很好。但这就是我被困住的地方,我实际创建分支并提交这些文件的下一步是什么?

编辑:我现在已经从我的GTRepository获取了GTIndex(但是,索引的fileURL属性仍然是nil,所以我不确定如何生成该文件)。我遍历我的文件,调用addFile:error:,在我的索引中创建GTIndexEntries。然后我调用writeTree:并返回我传入[repository createCommitWithTree:newTree message:@"Initial Commit" parents:nil updatingReferenceNamed:nil error:&error];的GTTree。这将返回一个有效的GTCommit对象而没有NSError,但我希望[repository headReferenceWithError:& error];现在将返回对新创建的提交的引用,但它仍然返回nil。我是否缺少最终确定此提交的步骤?

1 个答案:

答案 0 :(得分:3)

看起来有一个[GTReference referenceByCreatingReferenceNamed:name]静态方法。 Here's an example如何使用它。