브랜치

OneTwoThree·2022년 11월 11일
0

깃허브

목록 보기
7/14

참고 유튜브 강의

브랜치가 필요한 이유

브랜치는 분기된 가지이다.

  • 브랜치를 사용하면 프로젝트를 하나 이상의 모습으로 관리할 수 있다.
  • 여러 작업들이 독립되어 진행될 때 유용하다
  • 각각의 차원에서 작업한 뒤 확정된 것을 main에 통합한다.

명령어들

  • 브랜치 만들기

    git branch 브랜치명

  • 브랜치 목록보기

    git branch

  • 브랜치 이동하기

    git switch 브랜치명

  • 브랜치 생성과 동시에 이동하기

    git branch -c 브랜치명

  • 브랜치 삭제하기

    git branch -d 브랜치명

  • 브랜치 이름 바꾸기

    git branch -m 원래이름 바꿀이름

브랜치 합치기

브랜치를 합치는 두가지 방법이 있다.

merge


merege는 초록색 브랜치의 내용을 파란색 main 브랜치에 합친다. 새로운 커밋 (노란색) 이 생긴다.

rebase


reabse는 이렇게 핑크색 브랜치의 내용을 파란색 브랜치 뒤에 옮겨붙이는 것이다.
merege는 브랜치의 흔적을 남기지만 rebase는 main 브랜치에 히스토리가 합쳐진다는 차이가 있다.
많은 브랜치가 사용되는 프로젝트에서는 merge로 해서 잔가지들을 남기면 파악하기 많이 복잡해질 수 있다.

  • 브랜치의 사용 내역을 남겨둘 필요가 있다면 merge를 , 히스토리를 깔끔하게 만드는게 중요하다면 rebase 를 사용하자

실습

  • merge

    git merge 대상브랜치

main 브랜치로 이동
내가 위치해 있는 브랜치로 대상 브랜치의 내용을 merge한다

이렇게 하면 내가 위치한 브랜치로 대

  • rebase

merge할 때는 main 브랜치로 이동해서 대상 브랜치를 merge하지만 rebase는 반대로 대상 브랜치로 이동해서 main 브랜치를 rebase 해줘야 한다

git rebase 메인브랜치

이렇게 해주면 대상브랜치가 main브랜치의 뒤에 연결되는데, 이 때 main브랜치로 이동하면 합치기 전 상태이다. 즉 뒤에 연결은 됬지만 합친 후의 상태로 합쳐진 것은 아니다. 따라서 다시 main브랜치로 이동해서 대상브랜치를 merge 해주면 main 브랜치도 대상 브랜치의 상태와 같아진다.

원격 브랜치 명시

git push -u origin 원격브랜치명

내가 위치한 로컬의 브랜치에서 원격브랜치명으로 push한다.

원격 브랜치 목록 보기

git branch --all

로컬 브랜치와 원격 브랜치가 같이 보인다

fetch

로컬에서 원격의 변경사항을 확인한다

0개의 댓글