2013-01-16 4 views
2

내가 Github에서 떨어져 mapbox-ios-sdk을 분기하고 다른 포크를 추가합니다. mapbox-ios-sdk는 서브 모듈로 FMDB을 사용합니다. 내 자신 custom version of FMDB (실제로 그냥 다른 프로젝트에서 sqlite3.h 추가) 원하는, 따라서 자신의 포크 SDK 필요. 힘내 서브 모듈을 제거하고 다시

그래서 내 자신의 포크에 나는 원래 FMDB 서브 모듈을 제거하기 위해 노력하고 내 자신의 포크를 추가했다. 나는 서브 모듈을 this thread에 따라 제거했다.

git submodule add https://github.com/t2wu/fmdb ./MapView/Map/FMDB

지금 내가 설명 할 수없는 무엇으로 실행 : 그럼하여 원래 FMDB 서브 모듈로 같은 디렉토리에 내 자신의 FMDB 포크를 추가했다. 위의 명령이 작동하지 않습니다! FMDB를 다운로드 할 수 있지만 ./MapView/Map/FMDB/src에 sqlite3.h가 표시되지 않습니다. (그리고 git log --graph 난 내 자신이 sqlite3.h의 커밋이 표시되지 않는 나는 마스터입니다.) 난 그냥 다른 곳에 넣어 그러나 경우,

git submodule add https://github.com/t2wu/fmdb ./MapView/MapView/FMDB

또는

git submodule add https://github.com/t2wu/fmdb FMDB

말 그렇다면 sqlite3.h가 보입니다. 무슨 일이 일어날 수 있니? mapbox-ios-sdk도 분명히 지원하는 CocoaPod와 관련이 있습니까? 당신은 이전 서브 모듈을 제거하지만

+0

당신이 자식 서브 모듈 초기화와 자식 서브 모듈 갱신을 시도 했습니까? – ShadyKiller

답변

3

는, 메타 데이터는 여전히 .git/모듈 /지도보기 /지도/FMDB 내에 남아있다.

자식 1.7.8 이후, 자식 저장 서브 모듈 부모 저장소의 .git 디렉토리에있는 메타 데이터보다는 서브 모듈 내에서 별도의 .git. 그래서 당신은 오래된 서브 모듈의 역사와 작업 트리를 보았습니다.

다시 모양에서 모든 것을 얻을하려면 부모 저장소의 기본에 가서 실행

git submodule sync 
cd MapView/Map/FMDB 
git fetch 
git checkout origin/master 
+0

내가 다시 시작하면. 하위 모듈을 제거하려면 이제 .git/modules/MapView/Map/FMDB에서 전체 디렉토리를 수동으로 제거해야합니까? – huggie

+0

하위 모듈을 제거한 후 해당 디렉토리를 제거합니다. 모듈의 자체 포크를 추가하면 작동합니다. 무리 감사. 나는 이것을 몇 시간 동안 씨름하고있다! – huggie

+1

당신도 그렇게 할 필요가 없습니다. 중요한 부분은 git에게 원본 대신 FMDB 포크에서 개체를 가져 오도록 알려주는 동기화를 실행하는 것입니다. –

관련 문제