2013-03-10 3 views
0

어떻게 든 이전에 서브 모듈로 추가되었던 git repo에 파일을 추가하려고합니다. 어떻게 된 일인지 모르겠습니다.Git 서브 모듈 관련 문제

은 내가 .gitmodules 파일을 어디서나 찾을 수없는 내 .git/config은 다음과 같습니다

[core] 
    repositoryformatversion = 0 
    filemode = true 
    bare = false 
    logallrefupdates = true 
[remote "origin"] 
    url = [email protected]:frankV/dotfiles.git 
    fetch = +refs/heads/*:refs/remotes/origin/* 
[branch "master"] 
    remote = origin 
    merge = refs/heads/master 

내가 정력에 vundle에 대한 디렉토리를 포함해야하지만 위에서 언급 한 문제로 인해 수 없습니다. 이 시점에서 나는이 repo에서 제거하거나 vundle을 위해 디렉토리 아래에 파일을 추가 할 수 없었습니다. 내가 파일을 추가하려고하면

내가 얻을 : fatal: Path '_vim/bundle/vundle/autoload/vundle' is in submodule '_vim/bundle/vundle'

내 자식 상태 출력 : 당신이 vundle을 볼 수 있듯이

... 
# modified: _vim/bundle/Command-T (untracked content) 
# modified: _vim/bundle/The-NERD-Commenter (untracked content) 
# modified: _vim/bundle/The-NERD-tree (untracked content) 
# modified: _vim/bundle/matchit.zip (untracked content) 
... 

이 목록에없는 그것은 이러한 서브 모듈을 추적하지 괜찮아요 그들이 vundle을 통해 설치하면 ... vundle을 작동시키는 데에는 더 많은 이유가 있습니다!

+0

번들 폴더 내부에서'.git' 폴더 또는'.gitmodules' 파일을 검색 했습니까? 어딘가에 중첩 된 레포 일 수도 있습니다. –

+0

... 나는 아무것도 찾지 못했습니다. 한 번 거기에 있었고 어떻게 든 제거되었거나 무엇이 있는지 몰라. – frankV

+0

어떻게 검색 했습니까? 파일 관리자를 사용하면 "점 파일"을 숨길 수 있습니다. –

답변

1

내포 된 저장소가 있고 find . -name .git으로 찾으십시오. 실제로 기록이없는 원본을 가져 오려면 git rm의 포함 디렉터리를 제거하고 .git 디렉터리 자체를 제거 할 수 있습니다. 가져올 수있는 현재 기록을 잃지 않고 하위 트리를 분기 병합하지만 최소한의 노력으로 구조와 기록을 보존한다는 측면에서의 장점은 그대로 repo 구조를 유지하는 것입니다.

Git은 중첩 된 저장소 하위 모듈을 호출하며, 예를 들어 하위 모듈의 기본 저장소는 종종 제 3 자 (예 : git://github.com/gmarik/vundle.git)에서 호스팅되기 때문에 하위 모듈 명령 세트 repo의 클라이언트가 서브 모듈의 기본을 찾을 수있는 곳을 광고하는 데 도움이되는 인프라를 마련하십시오.하지만 서브 모듈 명령이하는 모든 일은 그런 평범한 작업에 대한 지원입니다. 다른 git 명령은 repo가 ​​하위 모듈로 사용되는지 여부에 상관없이 아무런 단서도 없습니다.

당신이하고있는 것처럼 보이는 것은 다른 사람의 진행중인 프로젝트의 결과를 자신의 프로젝트에서 빌딩 블록으로 사용하려고 시도하는 것입니다. 그 일을하는 git 방법은 가능한 가장 직접적인 방법으로 할 수 있습니다 : 프로젝트를 복제하고 자신의 프로젝트의 일부로 사용하십시오. This other answer I wrote은 TMI 일 수 있습니다. 프로젝트를 하위 모듈로 분할하는 것이지만 개념이 얼마나 간단하고 직접적인지에 대한 또 다른 결정입니다.

+0

"하지만 최소한의 노력으로 구조와 역사를 보존한다는면에서 달콤한 장소는 그대로 repo 구조를 유지하는 것입니다." 팔았다! 팁 고마워. – frankV

관련 문제