티스토리 뷰

github

[github] 브랜치(branch)

caneo 2021. 11. 8. 17:06
728x90
반응형

git에는 코드를 복사하여 독립적인 작업을 진행할 수 있도록 도와주는 기능으로 브랜치가 있다.

git에서 commit을 하면 파일에 대한 정보, 디렉토리 구조에 대한 정보, 이전 커밋에 대한 포인터 등의 정보 등이 저장된다. 브랜치는 일종의 포인터로 현재 작업중인 가장 마지막의 commit을 가리킨다.

head는 현재 작업하는 브랜치를 가리키는 포인터이다. git checkout 브랜치이름 명령어로 head를 이동시킬 수 있다. head가 가리키는 브랜치가 앞으로 수행되는 commit을 계속 따라가게 된다.

각각의 브랜치에서 commit을 수행하면 분기가 되어 별도의 commit을 진행한다.

브랜치의 분기는 git log --graph --all로 확인할 수 있다.

브랜치를 만들면서 head까지 바로 이동시키려면 git checkout -b 브랜치 이름 명령어를 사용할 수 있다.

브랜치를 merge 함으로써 마스터 브랜치에 수정 사항을 반영할 수 있다. 이때 master 브랜치가 단순히 merge할 브랜치로 이동하는 것을 fast-forward라고 한다.

필요가 없어진 브랜치를 삭제하기 위해 git branch -d 브랜치 이름 명령어를 사용할 수 있다. merge를 하지 않으면 지워지지 않는다. 이때는 -D 옵션을 사용하여 강제로 삭제해야 한다.

git branch를 통해 브랜치의 목록을 확인할 수 있고 git branch --merged를 통해 merge된 브랜치를 확인할 수 있다. merge된 브랜치 중 필요없는 것은 제거할 수 있다.

728x90
반응형

'github' 카테고리의 다른 글

[github] 리모트 브랜치  (0) 2021.11.08
[github] 브랜치 Merge  (0) 2021.11.08
[github] 리모트 저장소  (0) 2021.11.08
[github] 커밋 기록 조회  (0) 2021.11.07
[github] git 파일 제거하기  (0) 2021.11.07
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함