생활코딩 git 03 - git branch (만들기, checkout, 삭제)
02 Apr 2017 | git생활코딩-git 수업을 듣고 중요 내용을 정리합니다.
여기서는 git이 가져온 혁신인 branch를 다룹니다. branch는 가지라는 뜻으로 작업을 분기해서 처리하는 경우에 대한 시적인 표현입니다. git이 가져온 혁신은 그 동안 개념적으로는 존재했지만 실제로는 잘 사용하지 않던 branch를 사용할만한 상태까지 끌어올린 점에 있습니다. 본 수업의 하위에서는 branch에 대해서 다룹니다.
git branch
브랜치의 목록을 볼 때
- 유저는 git 을 사용하는 순간부터 mater 라는 이름의 branch를 사용하고 있다.
❯ git branch
* master
브랜치 생성
- 새로 생성한 exp 브랜치는 현재 속해 있는 master 브랜치의 상태를 그대로 복사한다.
- 브랜치는 아주 가볍고 저장소를 추가적으로 거의 사용하지 않는다.
❯ git branch exp
❯ git branch
exp
* master # 현재 사용중이 브랜치
브랜치 전환(체크아웃)
- 전환한 브랜치 exp에서 새로운 파일을 생성하고 add commit 하면 master브랜치에서는 해당 파일이 반영되지 않는다.
- 브랜치 exp에서 새로운 파일을 생성후 add commit 하면, master브랜치의 finder에서 해당 파일이 사라진다.
❯ git checkout exp
Switched to branch 'exp'
❯ git branch
* exp
master
- 브랜치를 생성하고 전환까지 할 때
git checkout -b "생성하고 전환할 브랜치 이름"
❯ git checkout -b "exp2"
Switched to a new branch 'exp2'
브랜치 삭제
브랜치 삭제
git branch -d
❯ git branch -d exp2
Deleted branch exp2 (was db667dd).
병합하지 않은 브랜치를 강제 삭제
git branch -D
❯ git branch -D 'exp3'
Deleted branch exp3 (was db667dd).