브랜치는 왜 필요한가?
한가지 작업물을 여러 사람이 같이 수정하다보면, 다양한 버전의 결과물이 생기게 됩니다.
예시 상황)
팀원 2명이 함께 PPT 만드는 작업을 하다가 10페이지까지는 같이 만들었는데 그 이후로는 각자 집에가서 만들기로 했습니다.
a가 11~ 13page, b가 14~17 page 를 만들기로 했습니다.
이때 a와 b는 10페이지까지 만들어진 버전1에서 각각 새로운 버전의 ppt를 만들어온 뒤, 합쳐주게 됩니다.
이렇게 여러 사람이 작업물을 나누어 진행할 때 각자 로컬 저장소에 마음대로 작업할 수 있도록 해주는 것이 branch 입니다.
브랜치란?
여러 작업물이 동시에 다른 작업물에 영향을 주지 않으면서 진행될 수 있도록하는 기능입니다.
아래 그림처럼 하나의 버전 (Master) 에서, branch를 추가해서 내 작업을 진행하고 이를 다시 master branch 에 합쳐나갈 수 있습니다. (Merge)
가장 간단한 브랜치 만들어보기
상황: Master에 base maunal을 작성하고, 브랜치를 만들어서 apple 버전의 manual을 추가해보자
1) master branch에 Base Manual 파일 만들고 작업해서 커밋하기
- 파일 만들기: nano manual.txt
- base 입력 > 컨트롤 + X > Y > Enter
- staging에 올리기: git add manual.txt
- commit 하기: git commit -m 'base manual'
2) 브랜치 만들기
- apple 브랜치 만들기: git branch apple
3) 작업할 브랜치로 이동하기
- apple 브랜치로 바꾸기: git checkout apple
* 주의: 브랜치를 만들고 나서, git log로 살펴보면 아직 head가 master를 가르키고 있는 것을 알 수 있다. 브랜치를 만들고 나서, 작업할 브랜치로 이동시켜주는 작업을 해야한다.
4) 작업 추가하기!
- 작업 추가하기: nano manual.txt
- apple 입력 > 컨트롤 + X > Y > Enter
- add & commit: commit message 'apple manual'
5) 작업 확인하기
head가 apple branch를 가르키는지 확인
- git log
작업 파일 내용 확인
- cat manual.txt
6) master으로 checkout 해서 base manual 확인
apple manual 작업하기 전 base manual을 확인해보고 싶습니다.
checkout으로 master branch로 이동합니다.
- master branch로 이동: git checkout master
master branch 로 이동해서 git log를 확인해보니 head가 master를 가르키고 있고, apple branch에서 작업한 내용이 없는 것을 확인할 수 있습니다.
manual.txt 파일 안을 살펴보니 apple 이 입력되어 있지 않습니다!!
이렇게 브랜치로 이전 버전에서 새로운 버전을 만들어나갈 수 있습니다.
다음에는 이 새로운 버전들을 어떻게 합치는지 살펴보겠습니다.
'Today I Learned > git 뿌시기' 카테고리의 다른 글
Git 시작하기 (6) - clone 원격 저장소 복제하기 (0) | 2020.11.05 |
---|---|
Git 시작하기 (5) - backup 원격 저장소 연결하기 (0) | 2020.11.05 |
Git 시작하기 (4) - merge (branch 합치기) (0) | 2020.11.05 |
Git 시작하기 (2) - 버전 비교하기, 버전 이동하기 (0) | 2020.10.29 |
Git 시작하기 (1) - 버전 만들기 (0) | 2020.10.29 |