programing

외부 레포 서브모듈을 사용하기 위해 깃 프로젝트를 설정하는 방법은 무엇입니까?

lastmoon 2023. 7. 1. 09:20
반응형

외부 레포 서브모듈을 사용하기 위해 깃 프로젝트를 설정하는 방법은 무엇입니까?

원격 레포를 불러오는 레포를 만들고 싶습니다.

예를 들어, jQuery를 하위 모듈로 가정해 보겠습니다.

git://github.com/jquery/jquery.git

jQuery를 서브모듈로 하는 repo를 만들고 나만의 외부 repo를 원격 repo로 추가하는 과정은 무엇입니까?

또한 이 설정이 완료되면 내 리모컨을 누르거나 당기면 외장이 그대로 유지됩니까?

  1. 이미 github repo가 있는 MyWebApp이라는 프로젝트가 있습니다.
  2. 프로젝트에서 jquery 리포지토리를 사용하려는 경우
  3. jquery repo를 프로젝트에 하위 모듈로 가져오려고 합니다.

서브모듈은 정말, 정말 참조하고 사용하기 쉽습니다.이미 MyWebApp을 repo로 설정했다고 가정하면 터미널에서 다음 명령을 실행합니다.

cd MyWebApp
git submodule add git://github.com/jquery/jquery.git externals/jquery

이름이 지정된 디렉토리가 생성됩니다.externals/jquerygithubjquery 저장소에 연결합니다.이제 서브모듈을 초기화하고 코드를 복제하면 됩니다.

git submodule update --init --recursive

이제 모든 최신 코드를 하위 모듈에 복제해야 합니다.jquery repo가 변경되고 최신 코드를 풀다운하려면 다음을 실행합니다.submodule update다시 명령합니다.참고:일반적으로 프로젝트에 여러 개의 외부 리포지토리가 있으므로 항상 "외부" 디렉터리 아래에 리포지토리를 그룹화합니다.

온라인 Pro Git Book에는 읽기 쉬운 방식으로 제공되는 서브모듈(및 일반적인 Git)에 대한 몇 가지 좋은 정보가 있습니다.대신에,git help submodule또한 좋은 정보를 줄 것입니다.또는 깃 위키에서 깃 서브모듈 튜토리얼을 살펴보십시오.

서브모듈에 대해 이야기하고 서브버전의 svn:externals 메커니즘과 비교하는 블로그 엔트리가 눈에 띄었습니다. http://speirs.org/blog/2009/5/11/understanding-git-submodules.html

항상 외부와 같은 자체 디렉토리에 하위 모듈을 배치하는 것이 좋습니다.그렇지 않으면 루트 프로젝트 디렉터리가 매우 빠르게 복잡해질 수 있습니다.

여러분이 알아야 할 대부분의 내용은 이미 답변이 끝났기 때문에 굳이 언급하지는 않겠습니다. 하지만 저는 일반적으로 누락된 작은 정보를 발견했습니다.

아시다시피 "git pull"은 하위 모듈을 업데이트하지 않으며 "git submodules update"도 해당 하위 모듈의 최신 HEAD를 다운로드하지 않습니다.

모든 하위 모듈을 최신 업스트림 리비전으로 업데이트하려면 다음을 사용합니다.

git submodule foreach git pull

서브모듈을 자주 변경하고 많은 서브모듈을 보유하고 있다면 "각각의 git"이 매우 유용하게 될 것입니다.

결국 저는 http://github.com/evilchelu/braid 을 찾았습니다. 서브모듈과 리모컨이 작동하기를 기대했던 방식과 일치하는 것 같았습니다.

저는 @Hugo 답변이 당신이 필요로 하고 잘 작동할 수 있다고 생각합니다.그래서 저는 더 쉬운 방법을 찾았습니다.

git submodule update --remote

이상입니다.

따라서 전체 워크플로우는 다음과 같습니다.

git clone project-with-submodules
git submodule init
git config -l
git submodule update --remote

언급URL : https://stackoverflow.com/questions/2140985/how-to-set-up-a-git-project-to-use-an-external-repo-submodule

반응형