Yujindonut/TIL

[TIL/230711] Git 브랜치 전략

yujindonut 2023. 7. 11. 11:13
728x90

Git 브랜치 전략의 필요성

  • 코드 관리의 효율성
  • 작업의 독립성
  • 안정성 유지
  • 코드 리뷰 및 품질 관리
  • 배포 및 롤백의 용이성

 

Feature Branch

  • 기준 브랜치(master, main)에서 새로운 feature 브랜치 생성
  • 머지 후 불필요한 feature 브랜치는 삭제 
  • 각 기능별로 브랜치를 나누는 협업방식

Github Flow

  • 기준 브랜치에서 새로운 브랜치 생성
  • 기준 브랜치는 항상 배포 가능한 상태 유지
  • PR를 생성 후 코드리뷰 요청

Git Flow

프로젝트의 코드 관리와 릴리스를 체계적으로 진행하는 방법론

 

  • Master : 프로덕션 환경에 배포되는 안정적인 코드가 저장되는 브랜치
  • Develop : 개발중인 코드를 관리하는 브랜치
  • Feature : 새로운 기능 개발을 위한 브랜치 (Develop 브랜치로부터 분기)
  • Release : 새로운 버전 릴리스를 준비하는 브랜치 (Develop 브랜치로부터 분기)
  • Hotfix : 긴급한 버그 수정을 위한 브랜치 (Master 브랜치에서 분기)

 

브랜치 전략

Feature Branch 

  • 규모가 작거나 중간 크기의 프로젝트에 적합
  • 서로 다른 기능 개발이 동시에 이루어질 때 유용
  • 간단한 브랜치 전략을 사용하여 협업을 원할때 적합

Github Flow

  • 규모가 작거나 중간 크기의 프로젝트에 적합
  • 지속적인 통합 및 배포를 원할때 유용
  • 빠른 개발 주기와 간단한 브랜치 전략을 선호할 때 적합

Git Flow

  • 규모가 크고 복잡한 프로젝트에 적합
  • 여러 개발자들이 협업하고, 다양한 기능 및 릴리스가 동시에 관리되어야할 때 유용
  • 코드의 안정성과 릴리스 관리를 체계적으로수행하고자 할때 적합

 

 


 

CLI 명령어 익히기

명령어는 마우스의 클릭, 더브클릭과 같다. 암기의 영역이 아닌 숙달의 영역.

 

 

pwd 

현재 경로 확인하기

git add . -> . : 상대경로로 현재 디렉토리 의미

ls

현재 경로의 파일 및 폴더 조회하기

ls -al 

현재 경로의 숨김 파일 및 폴더까지 모두 목록으로 조회하기 (l : list) (.폴더명/.파일명 : . 이 붙은거는 숨김폴더와 숨김파일)

cd <경로>

cd ~ : 홈디렉토리로 이동

cd . : 현재디렉토리로 이동

cd .. : 상위 디렉토리로 이동

 

 

touch <파일명>

<파일명> 이름으로 비어있는 파일 생성하기

 

cat 

파일 출력

vi <파일명>

파일명 편집하기

 

rm -rf <파일명>

-r : recursive 안에 있는 모든 파일 다 삭제

-f : 강제로

 

rmdir <디렉토리> : 비어있는 디렉토리 삭제

728x90