Grit提交似乎压倒了Git repo中的最后一次提交?

时间:2011-02-08 22:11:03

标签: ruby-on-rails ruby git grit

我正在使用Grit来创建一个repo并且提交了几次。每次我提交,我的提交都会保存,但旧的提交会消失。任何人都知道我做错了什么?

首先,我创建一个repo并进行提交。如果我记录提交,我会得到提交ID,一切正常

repo_name = 'repos/myrepo.git'
repo = Repo.init_bare(repo_name)
index = Index.new(repo)
index.add('mytext.txt', "This is my first text")
index.commit('Text commit')

然后我再做一次提交

index = repo.index
index.read_tree('master')
index.add('mytext.txt', "This is my second text")
index.commit('Text commit')

..当我执行git日志时,只显示最后一次提交。以下行返回1

repo.commits.count

知道我做错了什么吗?我无法找到关于如何在Grit中使用write方法的任何教程。所以任何链接也将受到赞赏。谢谢!

1 个答案:

答案 0 :(得分:2)

面团。答案很简单。提交号2需要将提交号1作为父提交。然后它形成了这些提交的历史,它起作用:

index.commit('Text commit', [repo.commits.first])

我仍在寻找解释Grit库中写入方法的教程或指南。 rubyforge文档没有解释太多。