Git과 SourceTree

코딩덕·2024년 5월 7일

Git Flow

협업을 위한 git branch 관리 방법

  • main(master) : 실제 제품을 배포하기 위한 브랜치

  • feature(기능) : 기능을 개발하는 브랜치

  • develop(개발) : feature에서 개발된 내용이 저장되는 브랜치

  • release(배포) : 배포를 하기 전 내용을 QA(품질 검사)하기 위한 브랜치

  • hotfix(긴급수정) : main 브랜치로 배포를 하고 나서 버그가 생겼을 때 빨리 고치기 위한 브랜치

(참고 - 우아한기술블로그)


Git 컨벤션

협업을 위해 커밋 메세지의 규약을 정한 것

  • feat : 새로운 기능 추가

  • fix : 버그 수정

  • docs : 문서 수정

  • style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우

  • refactor : 코드 리팩토링

  • test : 테스트 코드

  • chore : 이 외 잡무


💻 커밋 예시

Feat: "로그인 기능 구현"        // 해당 태그: 제목

소셜 로그인(KaKao) 기능개발      // 구체적 업무내용 

Ref: #146                     // 일감, 작업 번호 
Fix: "회원가입 오류수정"

회원가입시 사용자 전화번호 누락이슈 수정

Ref: #1168 

SourceTree

소스트리는 깃과 함께 사용하기 좋은 많은 기능들을 제공합니다.


📌 되돌리기

✅ Reset(HARD 모드)

이미 커밋 했던 것을 취소하고 싶을 때,
이 커밋까지 현재 브랜치를 초기화 버튼을 누르고, Hard 모드를 선택한다.

그러면 선택한 커밋 이후 커밋과 변경사항들이 완전히 사라진다.

✅ Reset(MIX 모드)

이미 커밋 했던 것을 취소하고 싶을 때,
이 커밋까지 현재 브랜치를 초기화 버튼을 누르고, Mix 모드를 선택한다.

그러면 선택한 커밋 이후 커밋들은 사라지지만 변경사항은 작업환경에 남는다.

✅ Revert

상태를 되돌려 커밋 이전 상태로 만들고, 돌려진 상태에 대한 커밋이 새롭게 추가된다.

📌 태그

특정 commit을 가독성 있게 지칭할 수 있는 tag(유의미한 분기점이 되는 commit에 붙이는 정보)

보통 태그는 소프트웨어의 버전을 릴리즈 할 때 사용한다.

예를들어 제품이 v1.0 이 릴리즈 될때 태깅을 한번 해 두고, v1.1 버전을 개발하면서 그 사이에 만들어지는 브랜치들과 커밋들이 존재하는데 이러한 것들은 커밋으로만 관리하다가, v1.1 버전이 완성되는 커밋에 태깅을 해두는 것이다.

📌 스태시

아직 커밋하지 않은, 파일의 변경내용을 임시로 보관해주는 역할

0개의 댓글