Branch 21.04.07


Git Branch Practice

Branch

  • 서로의 브랜치에 영향을 주지 않는 독립된 작업 영역 (사본이라 생각하면 쉬움). 브랜치에 작업을 해도 원본에는 영향이 가지 않는다. 단순히 브랜치를 “하나의 커밋과 그 부모 커밋들을 포함하는 작업 내역”이라고 기억하시면 편하다.

  • 브랜치를 사용하는 이유 : 협업을 할 때 기능을 각각 분리하고 개발 혼잡을 피하기 위해서. 새로운 기능을 개발 할때 원본에 영향을 주지 않고 다양한 시도를 하고 싶을 때

  • 하나의 원본을 베이스로 하여 여러개의 브랜치를 만들고 각각의 브랜치에서 맡은 기능들을 개발 후 나중에 원본에 합쳐줌.

브랜치 관련 명령어

브랜치는 항상 현재 작업 공간을 베이스로 만들어진다. 그러므로 현재 어떤 브랜치에 있는지 확인해야한다.

  • 브랜치 목록 확인
$ git branch -a

  • 작업 중인 브랜치 이동 방법
// 현재 작업 공간에서 이동
$ git checkout <이동하고 싶은 브랜치 이름>
  • 브랜치 생성 : 브랜치는 항상 현재 작업 공간을 베이스로 만들어진다.
// b는 브랜치 생성과 이동을 포함, 즉 생성 후 해당 작업으로 브랜치로 이동
$ git checkout -b
  • 원본을 베이스로 하는 또 다른 브랜치 만들기
1.베이스로 하고 싶은 브랜치(원본)로 작업 공간을 옮긴다. 
$ git checkout <이동하고 싶은 브랜치 이름>

2.브랜치를 생성한다.
$ git checkout -b

브랜치 병합 방법

브랜치 합치는 방법

-git merge : Git의 합치기(merge)는 두 개의 부모(parent)를 가리키는 특별한 커밋을 만들어 냅니다. 두개의 부모가 있는 커밋이라는 것은 “한 부모의 모든 작업내역과 나머지 부모의 모든 작업, 그리고 그 두 부모의 모든 부모들의 작업내역을 포함한다”라는 의미가 있습니다.

-git rebase :  리베이스는 기본적으로 커밋들을 모아서 복사한 뒤, 다른 곳에 떨궈 놓는 것입니다. 조금 어렵게 느껴질 수 있지만, 리베이스를 하면 커밋들의 흐름을 보기 좋게 한 줄로 만들 수 있다는 장점이 있습니다. 리베이스를 쓰면 저장소의 커밋 로그와 이력이 한결 깨끗해집니다.

rebase vs merge 차이




© 2020.11. by creamer

Powered by CREAMer