서브모듈 프로젝트의 브랜치의 커밋 정보를 가지고 서브모듈 프로젝트에 대한 체크아웃을 수행한다.
브랜치 별로 서브모듈 커밋을 다르게 가리킬 수 있다. 이 경우 브랜치 체크아웃 시 서브모듈의 커밋을 변경할 수 있다.
서브모듈과 서브모듈 사용 프로젝트 master 브랜치 병합 순서
서브모듈 Pull Request로 feature 브랜치 master 브랜치에 병합
서브모듈 사용 프로젝트 Pull Request로 feature 브랜치 master 브랜치에 병합
서브모듈 사용 프로젝트에서 서브모듈 커밋을 1번의 병합 커밋으로 업데이트
배포 대상 커밋 = 서브모듈 사용 프로젝트의 서브모듈 업데이트 커밋
서브모듈 사용 시 주의점
서로 다른 브랜치의 서브모듈 커밋 ID가 다를 경우 브랜치 병합 시 해당 서브모듈에 대한 병합 충돌이 발생할 수 있으며 이를 해결해야 한다.
예: master 브랜치의 서브모듈 커밋과 dev 브랜치의 서브모듈 커밋이 다른 경우 master 브랜치에서 분기한 feature 브랜치를 dev 브랜치로 병합 시 서브모듈 병합 충돌이 발생하게 된다. feature 브랜치의 서브모듈 커밋은 master 브랜치의 것을 따른다. dev 브랜치의 서브모듈 커밋으로 병합 시 충돌을 해결하여 서브모듈 자체 변경 사항만 커밋에 반영하면 된다.
서브모듈 사용 프로젝트에서는 브랜치 병합 충돌 해결 시 최종 서브모듈 커밋을 반드시 확인한다.
문자열은 연속된 문자들이 그룹화되어 구성된 자료 구조이다. 따라서 데이터를 그룹화한 추상 자료형인 컬렉션(collection)의 다양한 자료 구조로 문자열을 구조화할 수 있으며 다양한 자료 구조 탐색 알고리즘을 사용하여 부분 문자열들을 탐색 및 비교하는 등의 문제를 해결할 수 있다.
백트래킹(backtracking)(또는 역추적) 알고리즘이란 최적의 해결책을 찾기 위해 모든 가능한 방법을 후보(candidate)로 구성한 후, 점진적으로 후보들을 시도하면서 유효한 후보가 아닐 경우(문제의 정답 조건을 만족하지 않을 경우) 문제 해결 과정에서 제외하고 되돌아가 ...
Comments