브랜치란?
브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념이다. 필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있다. 또한 이렇게 만들어진 브랜치는 다른 브랜치와 Merge/Rebase를 통해 새로운 하나의 브랜치로 모을 수 있다.
현재 선택된 브랜치가 아닌 다른 브랜치에서 작업하고 싶을 때는 'checkout' 명령어를 실행하여 다른 브랜치로 전활할 수 있다. 'HEAD'라는 키워드를 사용해 현재 사용 중인 브랜치의 선두 부분을 나타낸다.
커밋하지 않은 변경 내용이 인덱스와 작업 트리에 남아 있는 채로 다른 브랜치로 전환하면, 그 변경 내용은 기존 브랜치가 아니 전환된 브랜치에서 커밋할 수 있다. 단 전환된 브랜치에서도 한 차례 변경 되어 있는 경우에는 체크아웃에 실패할 수 있다. 이 경우 이전 브랜치에서 커밋하지 않은 내용을 커밋하거나, stash를 이용해 일시적으로 변경 내용을 다른 곳에 저장하여 충돌을 피하게 한 뒤 체크아웃을 해야 한다.
브랜치 생성
브랜치는 branch라는 명령어로 만들 수 있다.
git branch [branch name]
[branch name] 에 해당하는 브랜치가 만들어진다.
$ git branch
* main
hotfix
feature
생성되어 있는 브랜치 목록 전체를 확인 할 수 있다. '*'이 붙어 있는 것이 현재 선택된 브랜치이다.
$ git branch -r
origin/main
원격 저장소의 브랜치 정보를 보여준다.
$ git branch -a
* main
remotes/origin/main
로컬/원격 저장소의 모든 branch 정보를 보여준다.
브랜치 전환
git checkout [branch name]
브랜치 전환하기 위해서는 checkout 명령어를 사용한다.
error: pathspec 'asdf' did not match any file(s) known to git
존재하지 않는 브랜치의 경우 위와 같은 에러 문구가 뜬다.
git checkout -b [branch name]
-b 옵션을 사용하면 브랜치 생성과 체크아웃을 동시에 실행한다.
브랜치 삭제
git branch -d [branch name]
-d 옵션을 입력하면 해당 브랜치를 삭제할 수 있다.
'Develop > Git' 카테고리의 다른 글
[Git] 원격 저장소 브랜치 삭제하기 (0) | 2023.07.03 |
---|---|
[Git] 원격 저장소에 잘못 올린 폴더, 파일 삭제하기 (.idea/ 폴더 삭제하기) (0) | 2023.03.20 |
[Git] 원격 저장소와 연결하기 (remote) (0) | 2023.01.31 |
[Git] 깃 옵션 설정하기 (config) (0) | 2023.01.28 |
[Git] 깃 흐름과 기본 명령어 (init, add, commit, log, status) (0) | 2023.01.22 |