따꿍의 프로젝트

[공통] Git 관련 질문들 본문

오늘의 개발지식/기술면접 준비

[공통] Git 관련 질문들

공장 주인 따꿍 2026. 4. 2. 11:21

git reset과 git revert의 차이점에 대해 설명하세요

git reset의 3가지 옵션에 대해서 설명하세요

이미 remote에 올라간 커밋을 취소하는 방법에 대해 설명하세요

https://capprojectfactory.tistory.com/124


git merge의 여러가지 방식들에 대해 설명하세요

github에 PR 사용할때 브랜치 머지 방법들 설명 (merge, squash, rebase)

https://capprojectfactory.tistory.com/manage/posts/



git flow 브랜치 전략에 대해 설명하세요

Git Flow는 팀 협업에서 브랜치를 체계적으로 관리하기 위한 전략으로, Vincent Driessen이 제안한 모델입니다.
핵심은 브랜치 역할을 명확히 나누고, 정해진 흐름대로 병합하는 것입니다.

Git Flow는 “기능 개발 → 통합 → 배포 준비 → 배포”를 브랜치로 분리한 체계적인 협업 전략

 

1. main (또는 master)

  • 배포 가능한 안정 버전만 존재
  • 항상 프로덕션 상태 유지
  • 직접 작업 ❌

2. develop

  • 다음 릴리즈를 위한 개발 통합 브랜치
  • 모든 feature가 여기로 모임

3. feature 브랜치

  • 새로운 기능 개발용
  • develop에서 분기
  • develop으로 merge

4. release 브랜치

  • 배포 준비 단계 (버그 수정, QA, 테스트)
  • develop → release 분기
  • release 완료 후 main에 머지해서 배포,
    develop에 머지해서 dev에도 변경사항 반영
    => 수정 후 main + develop에 merge
 

5. hotfix 브랜치

  • 긴급 배포용 버그 수정
  • main에서 분기
  • 수정 후 main + develop에 merge
 
 
 

전체 흐름

feature → develop → release → main
↘ develop
 

hotfix는:

main → hotfix → main
↘ develop
 

✔ 장점

  • 역할이 명확 → 협업하기 좋음
  • 배포 안정성 높음
  • 큰 프로젝트에 적합

✔ 단점

  • 브랜치 많아서 복잡
  • CI/CD 환경에서는 느릴 수 있음
  • 작은 프로젝트엔 과함