2014-11-21 1 views
1

나는 최근에 Rugged를 사용하기 시작했고 이미 몇 가지 문제가 발생했습니다. 기본적으로 Git repo에 모든 것을 추가하고, 단계별로 변경 사항을 적용하고, 모든 것을 지점으로 푸시합니다. 나는 다음과 같이 첫 번째 단계부터 시작했다 :Rugged를 사용하여 Git에 모든 것을 추가하는 특정 프로토콜이 있습니까?

@repo = Rugged::Repository.new(Dir.pwd) 
@index = @repo.index 

def git_add 
    @index.add mode: 'add-all' 
end 

그러나 콘솔이 나를 비명을 지른다. libgit2의 설명서를 탐색하여 repo에서 모든 것을 추가하는 예제를 찾을 수 없었습니다. 일부 철저한 인터넷 검색 결과도 비슷한 결과를 산출했습니다. 아마도 @repo.workdir.entries에 의 path 매개 변수로 걸렸을 수 있습니다. 그러나 확실하지 않습니다. 이 문제를 해결할 더 좋은 방법이 있습니까?

답변

4

모든 파일을 스테이지할지 또는 이미 들어있는 스테이지로 스테이지할지 여부에 따라 각각 Index#add_allIndex#update_all의 두 가지 옵션이 있습니다.

repo.index.add_all()을 사용하여 지정된 디렉토리 아래의 모든 파일을 스테이지 할 수 있습니다. repo.index.update_all()을 사용하여 동일한 작업을 수행 할 수 있지만 이미 저장소에 알려진 파일에만 적용됩니다. git의 -A-u 옵션과 유사합니다.

관련 문제