반응형

(github)깃허브 - 깃(git) 사용법3 브랜치 만들기

 

이전 포스팅에서는 깃을 만드는 방법과 되돌리는 방법에 대해서 포스팅했습니다.

이번 포스팅에서는 깃의 브랜치를 만들는 방법에 대해서 포스팅하겠습니다.

 

브랜치를 만들기 전에 마스터의 커밋 로그를 쌓아 보도록 하겠습니다. 작업순서는 아래와 같이 하겠습니다.

  1. git_test 이름으로 새 폴더를 생성
  2. cmd에서 git_test 폴더로 이동하여 git init을 실행
  3. git_test 폴더에 git_test.txt 텍스트 파일을 생성
  4. git add git_test.txt 명령어로 파일을 스테이징
  5. git_test.txt 텍스트 파일 1열에 "AAA" 입력 및 저장
  6. git commit -am "1line AAA" 커밋 명령어 실행
  7. git_test.txt 텍스트 파일 2열에 "BBB" 입력 및 저장
  8. git commit -am "2line BBB" 커밋 명령어 실행
  9. git_test.txt 텍스트 파일 3열에 "CCC" 입력 및 저장
  10. git commit -am "3line CCC" 커밋 명령어 실행
  11. git log 명령어로 위에서 만든 3개의 커밋 로그를 확인

위의 작업순서대로 만든 폴더와 깃 로그 사진입니다.

 

새로운 브랜치 만들기

깃에서 브랜치를 만들거나 확인하는 명령어는 git branch 입니다. 현재는 master만 있는 상태입니다.

 

여기에 kim이라는 브랜치를 만들겠습니다. 명령어는 git branch kim 입니다. 그리고 브랜치 상태를 확인합니다.

 

브랜치를 추가한 후에 git log 명령어를 해보면 작업중인 브랜치를 가리키는 HEAD가 master와 kim을 가리킵니다.

 

위와 같은 방법으로 lee, park 브랜치를 추가해 줍니다.

 

브랜치 이동하기

이제 git_test.txt 파일 4열에 "DDD"를 추가 입력하고 저장해줍니다.

그리고 git commit -am "4line DDD" 명령어를 입력합니다.

4열에 "DDD" 추가입력 및 저장

 

이제 git log --oneline 명령어를 입력해봅니다. (--oneline 옵션은 깃 로그를 간단히 한줄에 보여줍니다)

HEAD가 새롭게 커밋한 4line DDD 메세지가 있는 master를 가리킵니다.

 

이제 git checkout kim 명령어를 입력하고 git log --oneline로 확인해 봅니다.

브랜치가 kim으로 변경됐다는 메세지고 나오고, HEAD는 kim을 가리킵니다.

 

그리고 git_test.txt 파일을 열어보면 4열에 DDD가 없는 상태임을 확인 할 수 있습니다.

 

다시 마스터로 가고 싶다면 git checkout master 명령어를 입력하면 됩니다.

마스터로 되돌아가면 git_test.txt 파일 또한 4열 "DDD" 문자가 살아납니다.

4열 DDD가 다시 살아남

 

새로만든 branch에서 커밋하기

먼저 git checkout kim 명령어로 kim 브랜치로 스위치 합니다.

 

이제 HEAD가 kim 브랜치를 가리키고 있는 상태에서 git_test.txt 파일 4열에 "kim DDD"를 입력하고 저장합니다. 추가로 git_kim.txt 파일을 만들고 1열에 "kim AAA" 입력 저장합니다.

 

새로만든 git_kim.txt 파일을 스테이지로 올린기 위햐 git add . 명령어를 입력합니다.

git commit -m "4line kim DDD, (kim file)1line kim AAA" 명령어를 입력해서 커밋해 줍니다.

 

그리고 git log --oneline 명령어로 상태를 확인합니다.

HEAD는 새로만든 커밋인 kim을 가리키고 있습니다.

 

마스터 브랜치가 보고 싶다면 옵션을 추가해주면됩니다.

git log --oneline --branches --graph 명령어로 확인합니다.

(--branches 옵션 각 브랜치 커밋을 함께 보여주며, --graph 옵션은 커밋간의 관계를 그래프로 보여줍니다)

 

파란색 동그라미 안에 있는 붉은색 줄기에서 보듯이 HEAD가 가리키는 kim과 master 모두 3번째 커밋에서 만들어졌음을 확인 할 수 있습니다.

 

브랜치와 브랜치 사이의 차이점 확인하기

브랜치와 브랜치간에 차이점을 확인 하는 명령어는 git log 브런치1이름..브런치2이름 입니다.

이 명령어는 브런치1과 브런치2의 같은 커밋 내용은 제외하고 브런치2만 가지고 있는 커밋을 보여줍니다.

 

git log master --oneline 명령어와 git log kim --oneline 명령어를 입력합니다.

둘은 1열부터 3열까지는 같은 커밋을 가지고 있습니다.

 

git log master..kim --oneline 명령어를 입력합니다.

그럼 동일한 커밋인 1~3 커밋은 제외하고 kim에게만 있는 커밋 로그만 보여줍니다.

반대로 git log kim..master --oneline 명령어를 입력하면 master에만 있는 커밋 로그만 보여줍니다.

 

다음 포스팅에서는 나눠진 브랜치를 병합하는 방법에 대해서 포스팅 하겠습니다.

 

[github]깃허브 전체보기

 

'(github)깃허브' 카테고리의 글 목록

전산 관련 경험을 기록 하는 곳

reddb.tistory.com

 

반응형