git - grit怎么修改代码,并且提交代码

浏览:44日期:2023-11-02

问题描述

我想用https://github.com/mojombo/grit实现修改git仓库代码。

代码如下

r = Grit::Repo.new(’/projects/atest.git’).indexr.add(’lib/test.rb’, 'aaaa')r.commit('update test', [r.commits.first], Grit::Actor.new('test', 'test@email.com'), nil, 'master')

代码运行下来,是可以修改代码,但是却将这个仓库里面其他文件都删除了。。。

求高手该怎么写才对?

问题解答

回答1:

使用命令行的话,是把 git ls-tree -r ’master^{tree}’ 的内容(上次提交的文件列表)和修改部分(写在后边)一同传递给 git update-index --add --index-info(git add 操作)。即 index 里包含未修改和已修改的文件(所有要放入新版本的文件)。

所以,也许你应该把未修改的文件也加入 index?

PS: grit 是依赖 git 的呀……

相关文章: