programing

git 하위 모듈 추적 최신

mailnote 2023. 6. 25. 20:24
반응형

git 하위 모듈 추적 최신

우리는 (거대한) 프로젝트를 git로 옮기고 있으며 서브모듈을 사용하는 것에 대해 생각하고 있습니다.우리의 계획은 슈퍼 프로젝트에서 세 개의 다른 머리를 갖는 것입니다.

릴리스, 안정적, 최신

프로젝트 리드가 릴리스 및 안정적인 분기를 처리합니다.필요에 따라 서브모듈을 이동합니다.

문제는 "최신" 헤드입니다.슈퍼 프로젝트 "최신" 헤드가 모든 하위 모듈의 마스터 분기를 (자동으로) 추적하기를 원합니다.또한 서브모듈에 대한 모든 커밋의 기록을 보여주면 좋겠습니다.

나는 기츠슬레이브를 살펴보았지만, 그것은 우리가 원하는 것이 아닙니다.좋은 의견이라도 있나?

편집(2020.12.28): 깃허브는 2020년 10월부터 기본 마스터 브랜치를 본점으로 변경합니다.https://github.com/github/renaming 을 참조하십시오.
아래의 답변은 여전히 이전 명명 규칙을 반영합니다.


2013년 3월 업데이트

Git 1.8.2는 분기를 추적할 수 있는 가능성을 추가했습니다.

"git submoduleSuperProject의 Gitlink에 기록된 커밋과 통합하는 것과는 반대로 원격 지사의 팁과 통합하는 새로운 모드를 배우기 시작했습니다.

# add submodule to track master branch
git submodule add -b master [URL to Git repo];

# update your submodule
git submodule update --remote 

분기를 추적하려는 하위 모듈이 이미 있는 경우 "기존 하위 모듈이 분기추적하도록 만드는 방법"을 참조하십시오.

서브모듈에 대한 일반적인 정보는 서브모듈에 대한 Vogella의 튜토리얼을 참조하십시오.

참고:

git submodule add -b . [URL to Git repo];
                    ^^^

관리 페이지 참조:

의 특별한 값.하위 모듈의 분기 이름이 현재 리포지토리의 현재 분기 이름과 같아야 함을 나타내는 데 사용됩니다.


커밋 b928922727d6691a3bdc28160f93f25712c565f6:

submodule add만약--branch주진경우다니기합록어▁it다,니▁is에 기록합니다..gitmodules

사인 오프 바이: W.트레버 킹

따라서 새 하위 모듈을 추가할 때 옵션을 쉽게 기록할 수 있습니다.이 패치로

$ git submodule add -b <branch> <repository> [<path>]
$ git config -f .gitmodules submodule.<path>.branch <branch>

로 축소됨.

$ git submodule add -b <branch> <repository> [<path>]

이것은 미래의 전화가

$ git submodule update --remote ...

에서는 하위 모듈을 초기화하는 데 사용한 것과 동일한 분기에서 업데이트를 가져옵니다.


원답(2012년 2월):

하위 모듈은 상위 보고서에서 참조하는 단일 커밋입니다.
자체적으로 깃레포이기 때문에, "모든 커밋의 이력"은 다음을 통해 접근할 수 있습니다.git log그 서브모듈 안에서.

따라서 부모가 자동으로 하위 모듈의 주어진 분기의 최신 커밋을 추적하려면 다음 작업이 필요합니다.

  • 하위 모듈의 cd
  • get fetch/message를 사용하여 올바른 분기에 최신 커밋이 있는지 확인합니다.
  • cd back in 상위 레포
  • 추가 및 커밋을 수행하여 하위 모듈의 새 커밋을 기록합니다.

커밋 작업을 포함하여 gitslave(이미 살펴본 gitslave)가 가장 적합한 것 같습니다.

올바른 하위 모듈 분기에 체크아웃하고 변경하고 커밋한 다음 슈퍼 프로젝트에 들어가 커밋(또는 최소한 하위 모듈의 새 위치를 기록)해야 하기 때문에 하위 모듈을 변경하는 것은 약간 성가신 일입니다.

다른 대안은 여기에 자세히 설명되어 있습니다.

언급URL : https://stackoverflow.com/questions/9189575/git-submodule-tracking-latest

반응형