브랜치

onebbu·2023년 9월 5일
0

Git+GitHub

목록 보기
3/12

커밋의 구조

커밋은 숫자와 문자가 연속적으로 조합된 특이한 해시를 가짐

커밋 내용에 부합하며, 그 이전의 부모 커밋 하나를 참조함(아래 이미지 참고)

보라색 → 분홍색 → 파란색 순으로 커밋

그러나 가끔 동시 작업할 경우 두가지를 모두 시도해서 어떤것이 더 좋은지 결정하거나 버그를 수정할 때 코드 삭제와 수정 및 추가를 반복해야 하는 경우 발생

(ex. 화면의 색상 조합 수정과 챗봇 기능 수정이 동시에 이루어져야 할 경우)

이러한 경우 각 작업들은 별도로 이루어져야 함

⇒ 브랜치 사용

브랜치

브랜치는 깃의 가장 특징적인 기능이며, 일종의 타임라인

원할때마다 별도의 콘텍스트를 설정할 수 있도록 해줌

그리고 독립된 콘텍스트에서 작업하다가도 적당한 때에 병합도 가능

마스터 브랜치

브랜치를 만들지 않았어도 항상 브랜치는 있음

보통 기본 브랜치로 사용하고 마스터 브랜치에서는 특별한 작업을 하지 않고 병합에만 사용

→ master branch; 깃허브에서는 2020년부터 main으로 변경

깃 용어 중 하나

저장소에서 현재 나의 위치를 가리키는 포인터

브랜치 레퍼런스(현재 위치)를 가리킴

책갈피와 같은 역할

브랜치를 전환하면 HEAD의 위치가 전환할 브랜치의 위치로 감

git log 명령어를 통해 현재 HEAD의 위치가 어디인지 알 수 있음

브랜치 명령어

브랜치 생성 및 전환

git branch : 현재 존재하는 브랜치의 목록을 보여줌

git branch <브랜치 이름>: 브랜치 생성

git checkout <브랜치 이름>: 특정 브랜치로 HEAD 변경

git switch <브랜치 이름>: 특정 브랜치로 HEAD 변경

git switch vs checkout 차이
요약: checkout이 기능이 너무 많아 브랜치를 변경하는 기능만 적용된 명령어인 switch를 주로 사용 추천
새 버전에 맞게 git checkout 대신 switch/restore 사용하기 :: Outsider's Dev Story
Git Switch vs Checkout: Pros and Cons

git switch -c <브랜치 이름> 또는 git checkout -b <브랜치 이름> : 특정 브랜치를 만들고 해당 브랜치로 HEAD 변경

브랜치 삭제 및 이름 변경

git branch -d <브랜치 이름> : 브랜치 삭제

git branch -d <브랜치 이름> : 브랜치 강제 삭제(--force 옵션 추가)

git branch -m <브랜치 이름> : 현재 HEAD에 있는 브랜치 이름 변경

profile
느리지만 조금씩 발전해가기

0개의 댓글