Branch(브랜치) 란?
- 특정 커밋을 가리키는 포인터 라고 생각하면 된다.
SW를 개발할 때, 깃의 브랜치기능을 활용한다면 같은 팀끼리 작업 프로젝트를 공유하고 같이 작업할 수 있도록 해준다.
또 혼자서 작업하더라도 여러 버전을 만들어 놓을 때, 또는 본 작업에서는 시도하기 힘든 테스트를 할 때 바로 이 "브랜치"라는 것이 굉장히 유용하게 된다.
동시에 다양한 작업을 할 수 있게 만들어 주는 기능 "브랜치(Branch)"를 이용하면 각자 독립적인 작업 영역(저장소) 안에서 마음대로 소스코드를 변경할 수 있다.
브래치는 독립적으로 어떤 작업을 진행하기 위한 개념으로,
필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에 여러 작업을 동시에 진행할 수 있게 된다.
만일 브랜치가 없다면 작업을 모두 수행 후 다른 작업자에게 넘겨줘야 한다.
하지만 브랜치 기능을 활용한다면 하나의 작업을 여러 시점에서 개발할 수 있게된다..
브랜치 생성, 이동
$ git switch <브랜치명>
- 브랜치를 이동하고 싶을때 사용하는 명령어
만약 생성을 하고싶다면
$ git switch -c <브랜치명>
- create 옵션으로 -c 를 추가하면 된다
Merege 란?
- 하나의 브랜치에서 작업한 내용을 다른 브랜치에 통합하는 과정
$ git merge <병합할 브랜치>
- 현재 내가있는 브랜치에 <병합할 브랜치> 를 병합한다
- 현재브랜치 <- 병합할브랜치
- 항상 merge 전 git switch 을 통해 원하는 브랜치로 이동해야함!
merge 의 방식중 2가지를 살펴보면
- Fast-forward Merge
- 브랜치가 완전히 병렬로 작업된 경우
- 브랜치가 직선으로 이어지며 병합커밋이 생성되지 않는다.
- 3-way Merge
- 서로 다른 브랜치에서 변경된 내용이 있을 경우
- 병합커밋을 생성하며 merge 함
merge를 하던중 충돌(Conflict) 이 일어날 수 있습니다.
해결방법으로는
- Git이 표시한 충돌 부분을 확인합니다.
- 충돌된 파일에 <<<<<<<, =======, >>>>>>> 구분선이 생깁니다.
- 수동으로 수정한 후 저장합니다.
- 필요한 코드만 남기거나, 둘 다 필요한 경우 병합합니다.
- 수정한 파일을 스테이징 합니다
- git add
- 병합커밋을 생성합니다
- git commit
'Git' 카테고리의 다른 글
[Git] 핵심 명령어 요약 (1) | 2024.12.21 |
---|---|
[Git] 원격 저장소 연동 - git remote / push / pull / clone (3) | 2024.12.21 |
[Git] 버전관리하기 - git.init / add / status / commit / log (1) | 2024.12.21 |
[Git] Git 이란?? - Git, GitHub (1) | 2024.12.21 |