본문 바로가기
Git|GitHub

Git - 브랜치

by hyeon1016 2024. 10. 2.

브랜치

프로젝트의 특정 커밋에서 독립적으로 작업할 수 있도록 하는 분기를 의미한다.

브랜치를 사용함으로 써 여러 개발자가 동시에 다른 기능을 개발할 수 있다.

 

          +ㅡ> pop1 ㅡ> pop2(POP)

           |  (브랜치 생성)

A ㅡ> B ㅡ> C ㅡ> D ㅡ> E (main)
           |  (브랜치 생성)
          +ㅡ> bob1 ㅡ> bob2(BOB)

 

Git 명령어

명령어 설명
$ git init 디렉터리명 디렉터리 생성 후에 초기화 작업을 실시하여 디렉터리 안에
.git 폴더 생성
$ git branch 현재 디렉터리에 있는 브랜치 확인
$ git branch 브랜치명 현재 디렉터리에 브랜치 생성
$ git switch 브랜치명 지정한 브랜치로 전환한다.
$ git log --oneline Git 히스토리를 한 줄로 요약하여 확인
$ git add . 현재 디렉터리, 하위 디렉터리의 모든 변경 사항을
스테이지에 추가
$ git log --oneline --branches  Git 히스토리의 모든 브랜치의 최신 커밋을 한 줄로 표시
$ git log --oneline --branches --graph 브랜치와 커밋의 관계를 그래프 형태로 표시
$ git log B..A B 브랜치에는 없고, A브랜치에는 있는 커밋을 표시

 

 

브랜치 만들고 이동

 

1. 홈 디렉터리 이동

$ cd ~

 

2. manual 디렉터리 생성 후 초기화 작업 진행

$ git init manual

 

디렉터리 이동

$ cd manual

 

디렉터리를 확인하여 .git 파일이 생성되었는지 확인

$ ls -al

 

3. 파일 생성

work.txt 파일 생성하여 내용으로 content1 입력

 

스테이징 및 커밋 진행

$ git add work.txt
$ git commit -m "work1"

 

 

파일 수정

 

work.txt 파일에서 content2 추가

 

스테이징 및 커밋 진행

$ git commit -am "work2"

 

동일한 방식으로 work4까지 커밋 진행

$ git commit -am "work3"
$ git commit -am "work4"

 

Git 히스토리에서 올바르게 커밋되었는지 확인

 

4. 브랜치 생성

apple, ms, google, samsung 총 4가지의 브랜치 생성

$ git branch apple
$ git branch ms
$ git branch google
$ git branch samsung

 

생성 후 브랜치 확인

 

Git 히스토리에서 최신 커밋에 HEAD ㅡ> main, samsung, ms, google, apple이 추가되었는지 확인

 

파일 수정

 

work.txt 파일에서 content5 추가 입력

 

스테이징 및 커밋 진행

$ git commit -am "work5"

 

Git 히스토리를 한 줄로 요약하여 확인

$ git log --oneline

 

현재 브랜치가 work5인 것을 확인할 수 있다.

 

 

5. 브랜치 전환하기

apple 브랜치로 전환

$ git switch apple

 

 

Git 히스토리를 확인하여 현재 브랜치가 apple인지 확인

 

work.txt 출력하기

$ cat work.txt

 

main 브랜치에 있는 content5가 없는 것을 확인

apple 브랜치가 생성된 시점에서 이후의 커밋은 갖지 않기 때문에 main 브랜치의 content5가 없는 것이다.

 

6. 전환한 브랜치에서 커밋

work.txt 파일에서 apple content5를 추가로 입력한다.

apple.txt 파일을 생성하고 apple content5를 입력한다.

 

두 파일 모두 스테이징 하고 커밋

$ git add .
$ git commit -m "apple work5"

 

Git 히스토리에서 커밋된 정보 apple 확인

 

Git 히스토리의 모든 브랜치의 최신 커밋을 한 줄로 표시

$ git log --oneline --branches

 

그래프를 추가하여 확인

$ git log --oneline --branches --graph

 

 

7. 브랜치 사이의 차이점

main 브랜치에는 없고, apple 브랜치에는 있는 커밋을 보여줌

$ git log main..apple

 

 

apple 브랜치에는 없고, main 브랜치에는 있는 커밋을 보여줌

$ git log apple..main

 

 

'Git|GitHub' 카테고리의 다른 글

Git - 브랜치(문서 병합)  (0) 2024.10.06
Git - 브랜치(병합)  (0) 2024.10.02
Git - 버전 관리(작업 되돌리기)  (0) 2024.10.01
Git - 버전 관리  (2) 2024.10.01
Git - Git란 무엇인가?  (2) 2024.09.30