본문 바로가기
Software/Open Source

[GIT] Branch 1

by 리미와감자 2024. 1. 7.

Branch 1


■ Branch 만들기

 

 
 

 
 
Branch가지라는 뜻으로 독립적으로 개발이 필요할 때 사용한다.
프로젝트를 하나 이상의 모습으로 관리할 때. ex) 테스트용, 새로운 시도, …
여러 작업들이 각각 독립적으로 진행될 때. ex) 기능 A, 기능 B, 신기능 C, 코드개선, 긴급수정, …
git branch <branch name>: Branch를 생성한다.
git checkout <이동할 branch name>: Branch를 이동한다.

*GIT 2.23 버전부터 checkout 명령어가 switch, restore로 분리됨.

옵션
 
A. git branch
-d <Branch 이름>: Branch를 삭제한다.
-D <Branch 이름>: Merge되지 않은 Commit이 있는 경우 강제로 삭제한다.
-m <기존 Branch 이름> <Branch 이름>: Branch 이름을 변경한다.
-v: 마지막 Commit 내역과 함께 Branch 목록 조회
-r: Remote 저장소의 Branch 목록 조회
-a: 전체 Branch 목록 조회
B. git checkout
-b <이동할 Branch 이름>: Branch를 생성과 동시에 이동한다.

*GIT 2.23 버전부터는 git switch -c를 사용.

 


■ Branch와 HEAD의 역할

사실 BranchCommit을 가리키는 일종의 포인터이다. 이 포인터 덕분에 CommitCommit 사이를 쉽게 이동할 수 있다.
Commit을 새로 만들면 현재 Branch는 자동으로 마지막 Commit을 가리킨다.
 
 
 
 

③ 새로 만든 Branch(Testing)도 자동으로 마지막 Commit을 가리킨다.
 
 
 
 

 

HEAD는 현재 작업중인 Branch를 가리키는 포인터를 의미한다.
CheckoutHEAD가 가리키는 Branch를 바꾸는 것이다.
 
 
Testing Branch에서 새로운 Commit을 만들면, Testing Branch는 앞으로 이동하지만 Master Branch는 이전 Commit을 가리킨다.
 
 

 

 

 

Master BranchCheckout한 후 새로운 Commit을 만들면 그때부터 Branch가 분기되기 시작한다.
Branch를 분기하여 다른 작업을 하다가 나중에는 BranchMergeRebase를 이용하여 합친다.

'Software > Open Source' 카테고리의 다른 글

[GIT] Remote Repository  (0) 2024.01.08
[GIT] Branch 2  (0) 2024.01.07
[GIT] Commit 되돌리기  (0) 2024.01.05
[GIT] GIT 저장소에 파일 저장하기  (0) 2024.01.02
[GIT] GIT에서 특정 파일/폴더 배제하기  (0) 2023.12.21

댓글