브랜치
프로젝트의 특정 커밋에서 독립적으로 작업할 수 있도록 하는 분기를 의미한다.
브랜치를 사용함으로 써 여러 개발자가 동시에 다른 기능을 개발할 수 있다.
+ㅡ> 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 |