Skip to content

0904

index 파일

  • 프로젝트 폴더마다 index.client.ts 또는 index.server.ts가 존재함.
  • 폴더에 처음 접근했을 때 index 파일이 가장 먼저 찾아짐. node.js와 번들러들은 폴더를 import 할 때 기본적으로 Index 파일을 가장 먼저 찾도록 설계되어있음. index는 색인, 목차의 역할을 하는 파일이니까.
  • index 파일에 여러 컴포넌트들을 모아두면 import를 할 때 해당 index 파일만 찾으면 되니까 index 파일을 사용하는 것

충돌시 rebase 하는 이유

  • merge를 쓰면 Merge commit이 생겨서 커밋 로그가 복잡해짐.
  • rebase는 커밋들을 최신 브랜치 위로 재적용(?)해서 마치 순차적으로 작업한 것처럼 보이게 만들어 히스토리가 깔끔해짐.

예시

release:    A --- B --- C  
                  \  
feature:           D --- E
  • feature 브랜치에서 release 브랜치의 Head(c)를 맞추고 싶을 때 rebase를 사용함
  • 고로 feature 브랜치에서 release 브랜치의 origin 상태를 기준으로 git rebase origin/release를 하면 됨
  • 만약 충돌이 나면 git rebase --continue 명령어를 계속 쓰면서 release 브랜치의 HEAD까지 맞춰줘야됨
  • 리베이스를 포기하고 싶다면 git rebase --abort

squash merge 하는 이유

  • 기능 브랜치에서 커밋을 자잘하게 여러 번 남겼더라도, 최종적으로는 "하나의 기능" 단위로 메인 브랜치에 반영하고 싶을 때 사용.