문제

GIT 하위 모듈을 사용할 때 사용자 정의를 수행하는 선호하는 방법은 무엇입니까? 내가해야합니까...

  • 프로젝트를 포크하고 포크를 추적하십시오
  • 기본 동작을 무시하려고 시도합니다
  • 로컬로 변경하십시오

이 중 어느 것도 의미가 없다면, 무엇을합니까?

도움이 되었습니까?

해결책

귀하의 질문이 포함하려는 모든 프로젝트가 이미 GIT 프로젝트인지 또는 현재 SVN, Mercurial, Nonversion Controlled인지 암시하는지 확실하지 않습니다. 후자라면 사례 별 답변이어야합니다.

아마도 당신이 포함하고 사용자 정의하려는 프로젝트는 이미 Github에 이미 켜져 있고 Github를 통해 포크를 켜고 그 포크를 하위 모듈로 사용해야합니다. 모든 사용자 정의를 체크인하고 Github로 밀어야합니다.

포함하려는 프로젝트가 다른 곳 (또는 SVN, Mercurial 등)이라면 까다로울 수 있습니다. 한 가지 방법은 프로젝트를 로컬로 포크 한 다음 Cron-Jobs를 설정하여 들어오는 변경 사항을 Github로 밀어 넣는 것입니다. 즉, Github 미러를 만듭니다. 병합 및 업그레이드를 완전히 제어하려면 미러를 포크하고 프로젝트에서 포크를 서브 모듈로 포함 시켜서 로컬 사용자 정의를 확인하고 거울 포크로 밀어 넣어야 할 수도 있습니다.

대안 #3, 포크 프로젝트 및 로컬 체크인 만 수행 할 수 있으며 위의 옵션이없는 상황에서 사용될 수 있으며 실제로 작성하는 내용은 실제로 쉽게 배포 할 수 없습니다.

원숭이 패치 (목록의 대체 #2)는 프로젝트가 업스트림 변경으로 최신 포크를 최신 상태로 유지하는 데 의존하기를 원하지 않는 상황에 대한 대안이어야합니다.

다른 팁

나는 git submodule을 사용하여 포킹 하위 프로젝트가 매우 피곤하다고 생각합니다. 그래서 내가 쓴 이유입니다. git 하위 트리 대신에.

git subtree의 아이디어는 당신입니다 수입 하위 프로젝트의 내용은 자신의 프로젝트에 들어가므로 모든 것을 한 번에 분기하고 원하는대로 새로운 커밋을 만듭니다. 그런 다음 준비가되면 (항상) 사용할 수 있습니다. git subtree split 하위 프로젝트의 역사를 추출하고 상류로 제출합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top