Git의 서브모듈 업데이트

Abdul Jabbar 2022년8월23일
Git의 서브모듈 업데이트

하위 모듈은 Git 저장소를 현재 분기의 하위 디렉토리로 유지하는 방법입니다. 하위 모듈은 일반적으로 타사 저장소에서 가져옵니다. 예를 들어, 대규모 프로젝트에는 라이브러리가 포함된 하위 모듈이 있을 수 있습니다.

하위 모듈은 프로젝트의 모든 부분에서 사용할 수 있습니다. 요구 사항에 따라 하위 모듈 등을 가질 수 있습니다. 상위 저장소 작업 디렉토리의 특정 경로에 있는 상위 Git 저장소 내부에 고정된 Git 저장소입니다.

하위 모듈을 개발하기 위해 git submodule init을 사용하여 프로젝트의 루트 디렉토리에 .gitmodules 파일을 생성합니다. 여기에는 향후 작업에서 사용할 하위 모듈 목록이 포함됩니다. 그런 다음 git submodule update 명령을 사용하여 하위 모듈을 가져옵니다.

하위 모듈을 업데이트하려면 상위 리포지토리에 하위 모듈 경로를 지정해야 합니다. 하위 모듈에 액세스하려면 항상 상위 저장소에 상대적인 경로를 지정해야 합니다. 따라서 하위 모듈 경로는 프로젝트에 상대적입니다.

하위 모듈 경로를 지정할 필요가 없도록 하기 위해 gitmodules 파일에서 하위 모듈 경로를 설정할 수 있습니다. gitmodules 파일은 저장소 루트에 있는 일반 텍스트 파일입니다. gitmodules 파일은 현재 저장소의 상위 저장소와 하위 모듈 간의 매핑을 정의합니다.

Git 하위 모듈 업데이트

서버의 최근 커밋으로 작업 공간의 Git 하위 모듈을 업데이트하는 방법을 보여줍니다.

  • 원격 저장소를 복제하지 않은 경우 복제합니다.
  • git submodule update -remote 명령을 게시합니다.
  • 저장소에서 Git 인덱스로 가져온 새 파일을 나열합니다.
  • git 커밋을 실행합니다.
  • 원점으로 다시 푸시합니다.

git submodule 명령에는 하위 모듈에서 최신 코드를 가져오는 데 사용할 수 있는 --update라는 매개변수가 있습니다.

git submodule --update 
SomeSubmodule $ git submodule --sync
SomeSubmodule $ git submodule update --init 

update 매개변수를 사용하여 하위 모듈을 최신 커밋으로 업데이트할 수 있습니다. 복잡한 체크아웃과 푸시 명령을 피하려면 하위 모듈 업데이트 명령에 대한 빠른 별칭을 만드는 것이 훨씬 간단합니다.

git submodule update --remote --merge

위의 명령은 모든 하위 모듈을 업데이트하여 작업 트리가 깨끗하고 원격 분기와 동기화되도록 합니다. 매번 병합 커밋을 받지 않으려면 -merge 플래그를 사용하여 업데이트를 병합하십시오. Git submodules를 사용하는 것은 양날의 검과 같습니다. 왜냐하면 그것이 우리의 개발 생활을 훨씬 더 쉽게 만들 수 있기 때문입니다. 그러나 그것이 어떻게 작동하는지 모른다면 우리의 삶을 조금 더 어렵게 만들 수도 있습니다. 우리가 그것으로 더 많이 일할수록 그들이 어떻게 작동하는지 더 많이 알게 될 것이고 따라서 우리에게 유리하게 활용할 수 있게 될 것입니다.

작가: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

관련 문장 - Git Submodule