GitNotes.27-1.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 27.1: Subtree 를 생성 / Pull / Backport 하기

Subtree 생성하기

특정 plugin 프로젝트를 가리키는 plugin 이라는 이름의 새로운 원격 저장소를 아래와 같이 등록한다:

git remote add plugin https://path.to/remotes/plugin.git

그 후에 plugins/demo 이라는 새로운 폴더 prefix 를 지정한 새로운 subtree 를 생성한다. 아래 명령에서 'plugin' 부분은 원격 저장소를 나타내며, and 'master' 부분은 해당 subtree 저장소의 master 브랜치를 의미한다:

git subtree add --prefix=plugins/demo plugin master

Subtree 의 변경사항을 pull 해오기

plugin 원격 저장소에 추가된 커밋들을 아래와 같치 pull 해올 수 있다:

git subtree pull --prefix=plugins/demo plugin master

Subtree 의 변경사항을 backport 하기

  1. 부모 프로젝트에서 backport 할 커밋을 생성한다:
    git commit -am "new changes to be backported"
  2. merge 를 위한 새로운 브랜치를 만들고, subtree 저장소를 추적(track) 하도록 설정한다:
    git checkout -b backport plugin/master
  3. backport 들을 cherry-pick 한다:
    git cherry-pick -x -`-strategy=subtree master
  4. plugin 의 원본으로 변경사항을 push 한다:
    git push plugin backport:master

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형

+ Recent posts