2017-12-29 15 views
0

내 저장소에 텍스트 파일 인 나머지 파일과 비교하여 많은 공간을 차지하는 일부 파일이 있습니다. 그래서, 나는 주된 코드 저장소를 작게 유지하고 다른 것들을 git submodules로 연결하기 위해서 그것들을 별도의 git 저장소에 유지하기로 결정했다.작업 트리를 업데이트하지 않고 git submodule reference를 업데이트하는 방법은 무엇입니까?

그러나 이미 개발 시스템에 작업 트리가 있으므로 작업 트리를 업데이트 할 필요가 없습니다. 서브 모듈에 대한 레퍼런스를 유지하기 만하면됩니다.

서브 모듈에 뭔가를 적용하고 밀어 넣으면 서브 모듈 커밋에 대한 메인 repo의 포인터를 어떻게 업데이트합니까?

내 경험에 의하면, 자식이 update이 아니고 git submodule init없이 허용하고 작업 트리를 업데이트합니다. 나는 당신의 아이디어 권리를 얻는 경우에

+0

'git update-index --cacheinfo 160000, <서브 모듈 커밋 해시>, <서브 모듈 경로>' – PetSerAl

답변

1

, 귀하의 질문은

그러나, 자식의 메커니즘이 불가능하게 가져 오는 파일없이

서브 모듈의 정보 커밋을 가져 오기로 요약 될 수있다.

때문에 파일을 기반으로하는 커밋 개체를 기반으로하는 격리 된 커밋 정보가 없습니다.

당신은 컴퓨터에 파일을 가지고 있지만, 필요한 것은 파일 자체가 아니라 객체를 커밋하는 것입니다.


커밋 개체를 가져올 때 하위 모듈의 최신 커밋 정보가 표시됩니다. 커밋 정보 만 가져 오는 것과 같은 것은 없습니다.

따라서 하위 모듈의 최신 커밋을 참조하거나 하위 모듈의 변경 사항을 주 repo에 병합하려는 경우 커밋 정보를 얻으려면 해당 하위 모듈을 가져와야하며 그 다음에 최신 커밋을 추가해야합니다. 서브 모듈을 주 리포에 연결합니다.

관련 문제