본문 바로가기
데이터엔지니어링 기초/Git & Github

git branch 개념정리

by goemgoem-i 2024. 12. 28.
반응형

git add와 git commit 보다 헷갈리는 git branch ㅎㅎ

한 번 정리해보겠다

 

1. git branch란 

 

branch는 프로그램 복사본 이라고 생각하면 됨

원래 있던 소스 코드를 만들어서 먼저 개발을 한 번 해보고 싶은 경우 

 

 

 

 

 

 

2. git branch

 

1) 브랜치 생성

git branch 브랜치명

 

abc로 작명한다면

현재 abc라는 복사본이 만들어짐

 

 

2) 브랜치로 이동

git switch 브랜치명

 

 

3) git status

git의 상태창을 확인하면 branch abc에 있는 것을 확인 할 수 있음

git status는 현재 작업 공간 확인 가능함

 

 

그럼 현재 이 창은 branch의 창이기 때문에 

나중에 master 창으로 돌아가면 이때 만든 파일은 사라짐 

 

 

 

4) 새로 생성한 branch 부르기

git fetch origin #git 목록 
git switch feature/dag-for-youtube #git branch 변경하기

 

 

 

5) git에서 다른 branch에서 폴더 가져오기

git checkout [가져올 브랜치 이름] -- [폴더 경로]

 

예를 들어, feature/branch 브랜치에서 src/utils 폴더를 가져오려면:

git checkout feature/branch -- src/utils

 

 

 

 

 

 

 

 

 

 

3. git branch와 git main에서 수정하고 add commit 하기

1) 새로운 파일 만들고 add commit

 

 

현재 add commit은 abc branch라는 사본을 만들어서 실시한 것

 

 

 

 

2) 다시 원본 branch로 돌아가기

main 또는 master 입력 

환경에 따라서 다름

Switched to branch 'master' 이 문구가 나와야함

 

 

 

그럼 main브랜치고 바뀌어서 abc branch 가 없어짐 

 

 

 

git log --oneline를 활용해서 보면

branch abc에서 master로 switch를 하니까 

abc2 branch된게 사라진걸 볼 수 있음 

 

 

 

 

한눈에 main과 branch에서 add 와 commit 한 걸 보고 싶다면

git log 사용하면 됨

git log --oneline --all --graph

 

** head 는 현재 위치임 

 

 

 

 

 

 

4. branch 코드를 main과 합치기 : marge

 

1) main으로 이동 

git swtich master

 

 

 

 

2) git merge 브랜치명

git merge 브랜치명

git merge abc2 하기 전

 

 

 

 

3) conflict 해결법

main과 branch에서 같은 내용을 수정할 경우 컴퓨터가 혼란을 가지면서 문제 발생함

- 원하는 코드만 남기고 

- git add

- git commit 

 

conflict가 발생하면 수동을 코드를 삭제해서 해결해야한다는 것 알고있

 

  • git merge --abort는 병합 자체를 취소하고 병합 이전 상태로 되돌리기
  • git merge --quit 는병합 도중 발생한 충돌이나 변경 사항을 유지

 

 

 

브랜치 생성은 git branch 브랜치명
브랜치 이동은 git switch 브랜치명
브랜치 합치기는 기준 브랜치 이동 후 git merge 브랜치명
충동 해결은 코드고치고 git add & git commit

 

 

 

 

 

 

[참고자료 : 코딩애플]

https://www.youtube.com/watch?v=XFm2qNs30BE&t=23s

 

반응형