Git 브랜치

gmlwlswldbs·2021년 9월 18일
0

스터디

목록 보기
3/19
post-thumbnail

1. 브랜치

브랜치 (Branch) : 여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어주는 기능. 독립적인 저장소에서 마음대로 소스코드 변경

브랜치 : 독립적인 저장소

각각 브랜치들이 서로 영향 받지 않아서 여러 작업 동시에 가능
만들어진 브랜치들은 다른 브랜치와 병함(merge) -> 작업한 내용을 다시 하나의 브랜치로 모은다

메인 브랜치에서 자신의 작업 전용 브랜치를 만든다
-> 각자 작업이 끝나면 메인 브랜치에 자신의 브랜치 변경 사항 적용
-> 하나로 모은다

master branch : 처음 저장소 만들면 git이 만드는 브랜치. 메인 브랜치

2. 브랜치 만들기

  1. 통합 브랜치 (Integration Branch) : 언제든지 배포 가능한 버전을 만들 수 있는 브랜치. 늘 안정적 상태(모든 기능이 정상적으로 동작하는 상태) 유지
  2. 토픽 브랜치 (Topic Branch) : 기능 추가, 버그 수정과 같은 단위 작업을 위한 브랜치

3. 브랜치 전환하기

초기 설정된 master(main)에서 선택된 브랜치로 바꿈(Checkout 이용)

HEAD : 현재 사용 중인 브랜치의 선두부분. HEAD 이동시 사용하는 브랜치 변경. (마지막 커밋 지점..?)

stash : 일시적으로 변경 내용을 다른 곳에 저장 (충돌 피하기 위해). 그 다음 checkout
커밋하지 않은 변경을 일시적으로 저장

4. 브랜치 통합하기

병합 : 작업이 완료된 토픽 브랜치를 최종적으로 통합브랜치에 병합. merge, rebase로 가능

merge : 여러 개의 브랜치를 하나로 모음
rebase : 브랜치의 base를 옮김 -> 브랜치 병합

5. 브랜치 충돌 해결


master에 파일을 하나 만든다 -> 각각의 브랜치에서 같은 부분 수정 후 add, commit -> master에서 각각 브랜치를 merge -> 충돌 일어남 (변경 이력을 저장(merge)하지 않고 같은 부분을 수정해서)

충돌 일어난 상태

충돌이 일어남 -> 파일을 열어서 수동으로 수정 -> 다시 커밋

수동으로 최종 수정된 파일

0개의 댓글