我想用https://github.com/mojombo/grit
實作修改git倉庫代碼。
r = Grit::Repo.new('/projects/atest.git').index
r.add('lib/test.rb', "aaaa")
r.commit("update test", [r.commits.first], Grit::Actor.new("test", "test@email.com"), nil, "master")
程式碼運行下來,是可以修改程式碼,但是卻將這個倉庫裡面其他檔案都刪除了。 。 。
求高手該怎麼寫才對?
迷茫2017-04-24 09:12:26
使用命令列的話,是把 git ls-tree -r 'master^{tree}'
的内容(上次提交的文件列表)和修改部分(写在后边)一同传递给 git update-index --add --index-info
(git add
操作)。即 index 裡包含未修改和已修改的檔案(所有要放入新版本的檔案)。
所以,也許你應該把未修改的文件也加入 index?
PS: grit 是依賴 git 的呀…