Git명령어와 Git Branch전략

nakyeonko3·2023년 11월 8일
0
post-thumbnail

Git 명령어


git status

git status # 변경된 내용, 변경 되지 않은 내용을 확인 가능

git reset

git reset HEAD
git reset HEAD <file>

git reset --soft <commit> 
# 지정한 커밋으로 돌아가며, 변경 상황 유지, 지정한 커밋 이후에 생성된 파일은 그대로임.

git reset --hard <commit> # 지정한 커밋으로 돌아가며, 변경 상황 삭제, 지정한 커밋 이후에 생성된 파일들을 삭제함.

git revert

git revert 
# 지정한 커밋으로 돌아가며, 이전의 커밋들을 모두 취소하지 않고 하나만 취소함.

Git Reset and Revert Tutorial for Beginners | DataCamp

git stash

git stash # 변경사항 임시 저장
git stash list # stash에 보관된 변경사항을 출
git stash drop # stash 안에 있는 것을 하나 제거
git stash pop # 변경 사항을 꺼내서 현재 코드에 저장함.

git diff

git diff 
// 변경 사항을 확인가능

Git Branch 전략


Feature Branch 전략

각 기능 별로 독립적인 브렌치를 만드는 전략

# login 브렌치 생성
git checkout -b feature/login
git push origin feature/login

# 기준 브렌치에 merge
git chcekout main
git merge --no-ff feature/new-feature
git branch -d feature/new-feature

Github FLow

  • 빠른 개발과 배포에 적절한 전략
  • 기준 브렌치는 항상 배포 가능한 상태이다.
  • 기준 브렌치에서 새로운 브렌치 생성하고 기준 브렌치push
  • 그 후에 pull request 통해 코드 리뷰 진행 후에 merge
# login 브렌치 생성
git checkout -b feature/login
git push origin feature/login

# 기준 브렌치에 merge 요청
git chcekout main
git merge --no-ff feature/new-feature
git branch -d feature/new-feature

# 이후에 PR을 하게 됨.

Git FLow

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

  • branch 종류
    Master : 프로덕션 환경(Production, 개발 환경(dev,stage,qa,production) 중에서 실제 서비스를 위한 운영 환경)에 배포되는 안정적인 코드가 저장되는 브랜치
    Develop: 개발 중인 코드를 관리하는 브랜치
    Feature : 새로운 기능 개발을 위한 브랜치(Develop브랜치에서 분기)
    Release : 새로운 버전 릴리스를 준비하는 브랜치(Develop 브랜치에서 분기)
    Hotfix : 긴급한 버그 수정을 위한 브랜치(Master 브랜치에서 분기)
  1. 새로운 기능 개발
    • Deveop 브랜치에서 Feature 브랜치를 생성
    • 기능 개발 완료한 후 Develop 브랜치로 머지
  2. 새로운 버전 릴리스 생성
    • Develop 브랜치에서 Relaese 브랜치 생성
    • 버전 번호 부여 및 릴리스 작업 진행
    • Release브랜치를 Master브랜치에 머지
    • 해당 커밋에 태그를 추가하여 릴리스 버전 명시
    • 이후 Release 브랜치를 Develop 브랜치에도 머지
profile
웹개발자를 지망하고 있는 대학생, 진순파

0개의 댓글