728x90

# 출처 : [도서]Do it! 지옥에서 온 문서 관리자 깃&깃허브 입문(이고잉)


branch

branch(나뭇가지) → 버전 관리 시스템에서는 나무가 가지에서 새 줄기를 뻗듯이 여러 갈래로 퍼지는 데이터 흐름을 가리키는 말로 사용

 

▷ 기본적으로 master 브랜치 생성

사용자가 커밋할 때마다 master 브랜치는 최신 커밋을 가리킴

브랜치는 커밋을 가리키는 포인터와 비슷

 

브랜치의 기능

  1. 분기 : master 브랜치에서 뻗어 나오는 새 브랜치를 만드는 것
  2. 병합 : 분기했던 브랜치를 master 브랜치에 합치는 것

  • 브랜치 생성 : git branch
  • 브랜치 이동 : git checkout
  • 브랜치 정보 확인 : git log --oneline --branches --graph / git log [기준브랜치]..[비교브랜치]

브랜치 생성
git branch

1. 세팅

mkdir menual
cd menual
git init
ls -al						# .git 있는지 확인
vim work.txt				# 'content 1' 작성 후, 저장 및 나가기
git commit -am "work 1"
git log 					# 커밋 내역 확인

vim work.txt				# 'content 2' 작성 후, 저장 및 나가기
git commit -am "work 2"

vim work.txt				# 'content 3' 작성 후, 저장 및 나가기
git commit -am "work 3"
더보기
git log에서 3개의 커밋 메시지가 있도록 세팅한다.

 

2. 새 브랜치 생성

git branch			# master 브랜치인거 확인
git branch apple	# apple 브랜치 생성
git branch			# apple 브랜치 생성 확인
git log				# HEAD가 가리키는 브랜치가 master와 apple인거 확인

git branch google	# google 브랜치 생성
git branch ms		# ms 브랜치 생성
git branch			# 브랜치 google, ms 생성 확인
git log				# HEAD가 master, apple, google, ms를 가리키는거 확인
더보기
HEAD는 여러 브랜치 중에서 현재 작업 중인 브랜치를 가리킨다.

 

브랜치 이동
git checkout
git log								# 깃 기록 확인
git branch							# 깃 브랜치 확인	
vim work.txt						# 'content 4' 추가 후, 저장 및 나가기
git commit -am "master content 4"	# master 브랜치로 커밋했다고 커밋메세지 작성
git log --oneline					# 깃 기록 한줄로 확인(master branch기준으로 로그 출력됨)
git checkout apple					# apple로 브랜치 변경
git log --oneline					# 깃 기록 한줄로 확인(apple branch기준으로 로그 출력됨)
cat work.txt						# work.txt에 적힌 내용 확인(위에서 작성한 contene4가 없음)
더보기
master 브랜치일때 작성한 content 4 내용이 apple 브랜치에서는 출력되지 않는 것을 확인할 수 있다.

 

브랜치 정보 확인
git log --oneline --branches --graph
git log [기준브랜치]..[비교브랜치]
# git checkout apple 					# apple 브랜치로 되어있다면 생략
git work.txt							# 'apple content 4' 추가 후, 저장 및 나가기
vim apple.txt							# 'apple content 4' 추가 후, 저장 및 나가기
git add .								# work와 apple 파일 전부 스테이지로 올리기
git commit -m "apple content 4"			# 커밋 메세지 작성
git log --oneline						# 깃 로그 한줄로 보기
git log --oneline --branches			# 각 브랜치의 커밋을 함께 보기
git log --oneline --branches --graph	# 그래프 형태로 깃 로그 보기
git log master..apple					# master 기준으로 apple과의 차이점 확인
git log apple..master					# apple 기준으로 master의 차이점 확인

apple 브랜치로 커밋을 하며, --branches --graph 로 브랜치마다 커밋한 내역을 쉽게 확인할 수 있다. 특히, master와 apple은 같은 부모 커밋(work 3)을 보고 있으며 그 이후로는 브랜치마다 다른 커밋을 만들었다는 사실을 알 수 있다.

 

브랜치 병합
728x90

+ Recent posts