나는 개발중인 복잡한 이온 프로젝트를 가지고있다. 현재 개발중인 많은 구성 요소와 공급 업체는 제네릭이며 다른 회사의 프로젝트에서 사용할 수 있습니다. 이것은 소프트웨어 개발에서 일반적입니다. 구성 요소 기능 지점에 밀려 테스트 베드에서 개발git 하위 트리를 사용할 때 어떻게 특정 폴더를 추가 할 수 있습니까?
my-company-library-repo ----
|_ component 1 feature branch
|_ company component 1 feature branch testbed
|_ component 2 feature branch
마지막 구성 요소 코드 (단지 .ts
또는 .js
파일) : 이것은 내가 가지고 올 한 망할 놈의 워크 플로우 (이 그래프는 지점을 표시)입니다. 테스트 베드 코드는 테스트 베드 브랜치에 있습니다. 또한 지형지 물 지점에는 해당 구성 요소와 함께 제공 될 수있는 모든 문서가 표시됩니다. (이 그래프는 폴더 구조를 보여줍니다)
git subtree add -P <destination-dir/feature> --squash <my-company-library-repo-url> <feature-branch-name>
그리고 나에게 다음을했다 :
이제 응용 프로그램의 repo 내가이 명령을 사용하여 하위 트리로 기능 분기를 추가
my-app-repo-------
|_ company-library-feature-subtree
이를 .js
또는 .ts
만 포함하고 하위 폴더에는 문서가 있어야합니다. 나는 이것을 부분적인 방식으로 만 작동시킨다. 는 하위 트리를 가져옵니다 때, 그것은 단지 구성 요소를 끌어 않고는 문서 파일을하지만 파일은 다음과 같이 하위 디렉토리의 아주 긴 목록에 들어갔습니다 얻을 :이 수
my-app-repo/src/feature-branch/feature/src/app/providers/...
열심히 라이브러리 인해를 사용하는 파일은 너무 많은 디렉토리 (사용하지 않는 디렉토리)에 배치됩니다.
그래서 feature-testbed 브랜치에서 feature 브랜치로 2 파일을 푸시 할 때 어떻게 그 전체 디렉토리 구조를 가져올 수 있습니까?
게시물을 편집하여 질문에 대한 추가 정보를 추가하십시오. 주석을 읽기 어려우며 쉽게 삭제할 수 있으므로 주석에 추가하지 마십시오. 귀하의 질문에 귀하의 기존 의견에 대한 정보를 편집했습니다 (// stackoverflow.com/help/editing). –
힘내에서 * push *라는 단어는 특별한 의미가 있습니다. 파일을 푸시하지 않고 커밋을 푸시하면 한 저장소에서 다른 저장소로 옮깁니다. 마찬가지로 * branch *에는 특수한 정의가 있으며 (불행히도 모호하다.) 어떤 저장소도 교차하지 않는다. * pull *은 fetch-then-merge *를 의미하고, * fetch * 및 * merge *는 특수 전문 용어입니다. 'git subtree '는 여러 저장소, 커밋, 브랜치를 의도적으로 섞어 한꺼번에 처리하기 때문에 복잡합니다. @ ScottWeldon의 편집 내용이 많은 도움이되었지만 아직도 혼란 스러울 것입니다. :-) – torek