Skip to content

Latest commit

 

History

History
134 lines (82 loc) · 2.96 KB

git08.md

File metadata and controls

134 lines (82 loc) · 2.96 KB

브랜치 관리하기

01. 브랜치

---
title: What is Branch?
---
gitGraph
	commit
	commit
	branch sub
	commit
	commit
	checkout main
	commit
	merge sub
	commit
Loading

브랜치(branch): 기존 작업에서 독립적인 작업을 진행하기 위한 개념

브랜치를 사용해 작업을 관리하면 제대로 동작하는 작업은 그대로 두고, 추가적인 버전을 만들어 따로 관리하고, 원래 버전과 합칠 수 있다.


Git은 기본 브랜치로 main을 사용한다 (예전 버전의 경우: master)

사용자가 커밋할 때마다 브랜치는 어떤게 최신 커밋인지에 대한 정보를 갖는다.

즉, 브랜치는 커밋을 가리키는 포인터와 비슷하다고 생각하면 편하다.


  • 분기(branch): 기본 main 브랜치에서 새 브랜치를 만드는 것

  • 병합(merge): 새 브랜치에 있던 작업을 원래 main 브랜치로 합치는 것


02. git branch

i. 브랜치 확인

git branch

git branch: 현재 존재하는 브랜치를 확인할 때 사용하는 명령


ii. 브랜치 생성

git branch 브랜치명

git branch 브랜치명: 해당 브랜치를 생성하며, 분기한다.


iii. 브랜치 삭제

git branch -d 브랜치명
git branch -D 브랜치명

git branch -d 브랜치명: 브랜치를 삭제하는 명령

현재 브랜치에 병합되지 않은 브랜치를 삭제하려면, -D 옵션을 사용해 강제 삭제한다.


03. git switch

git switch 브랜치명

git switch 브랜치명: 해당 브랜치로 전환해주는 명령


04. 브랜치와 커밋의 관계

git log --oneline --branches --graph

git log에는 다양한 옵션들이 있다.

  • --oneline: 커밋 정보를 한 줄로 간단하게 나타내는 옵션

  • --branches: 브랜치마다 최신 커밋을 확인하는 옵션

  • --graph: 브랜치와 커밋의 관계를 쉽게 파악하도록 그래프로 표현해주는 옵션


05. 브랜치 사이의 차이점

git log 브랜치a..브랜치b

git log 브랜치a..브랜치b: 두 브랜치 사이의 차이를 확인하는 명령

브랜치a에는 없고, 브랜치b에는 있는 커밋을 출력한다.


06. git merge

git merge 브랜치명

git merge 브랜치명: 분기한 브랜치를 합칠 때 사용하는 명령

브랜치A에서 **'git merge B'**를 실행하면, A브랜치에 B브랜치를 병합한다.


병합의 상황

  1. 서로 다른 파일을 수정하고 병합 ➡️ 문제 없이 병합된다.

  2. 동시에 한 문서의 다른 부분을 각각 수정하고 병합 ➡️ 문제 없이 병합된다.

  3. 동시에 한 문서의 같은 부분을 각각 수정하고 병합 ➡️ 충돌(CONFLICT) 발생 ➡️ vim으로 직접 수정 후 커밋