我想用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")
代码运行下来,是可以修改代码,但是却将这个仓库里面其他文件都删除了。。。
求高手该怎么写才对?
명령줄을 사용하면
git ls-tree -r 'master^{tree}'
의 내용(마지막 제출된 파일 목록)과 수정된 부분(끝 부분에 기록됨)이git update-index --add --index-info
(git add
작업)에 전달됩니다. 즉, 인덱스에는 수정되지 않은 파일과 수정된 파일(새 버전에 포함될 모든 파일)이 포함됩니다.그러면 수정되지 않은 파일도 색인에 추가해야 할까요?
PS: 그릿은 git에 따라 다릅니다...