Git 정리❗ (2)-Branch

·2022년 8월 13일
0
post-thumbnail

Git - Branch

Branch 란?

독립적으로 어떤 작업을 진행하기 위한 개념이다. 필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에 여러 작업을 동시에 진행할 수 있다.

1. Branch 생성, 이동, 삭제

1-1. Branch 생성

🟡 branch 생성

git branch 브랜치명

🟡 branch의 목록을 확인

git branch

1-2. branch 이동

git switch 이동할 브랜치명

🟡 branch 생성과 동시에 이동

git switch -c 브랜치명

1-3. Branch 삭제 및 이름변경

🟡 branch 삭제

git branch -d 삭제할 브랜치명

🟡 branch 이름변경

git branch -m 기존 브랜치명 새 브랜치명

❗ 다른 브랜치로 가져오지 않은 내용이 있는 브랜치를 삭제할 경우

-d 대신 -D로 강제 삭제해야 한다.

2. Branch 병합하는 2가지 방식

2-1. merge

  • merg는 두 브랜치를 한 커밋에 이어붙인다.
  • 브랜치 사용내역을 남길 필요가 있을 때 적합한 방식

만약 one 브랜치를 main 브랜치로 merge 한다면
main 브랜치로 이동 후 아래의 명령어를 실행한다.

git merge one

✅merge는 reset으로 되돌리기 가능하다.

2-2. rebase

  • 브랜치를 다른 브랜치에 이어붙인다.
  • 한 줄로 깔끔히 정리된 내역을 유지하기 원할 때 적합하다.
    one 브랜치를 main 브랜치로 rebase 한다면
    one 브랜치로 이동하여 아래의 명령어를 실행한다.
git rebase main

❗이후 상태를 확인해보면 main 브랜치가 뒤쳐져 있는것을 볼 수 있다.
그러므로 main 브랜치로 이동 후 아래 명령어로 one의 시점으로 갈수있다.

git merge one

3. Branch 간 충돌

❗ 만약 서로 다른 branch간에 파일의 같은 위치에 다른 내용이 입력 되어있다면 아래와 같이 충돌이 발생한다.

3-1. merge 충돌 해결

  • 오류 메시지와 git status를 확인한다.

  • ✅ VS Code 상에서 해당 부분을 직접 타이핑하여 수정한 뒤 git add . , git commit으로 병합이 완료된다.

    만약 충돌 해결이 어려울 경우 아래 명령어로 merge를 중단한다.

    git merge --abort

    3-2. merge 충돌 해결

  • 오류 메시지와 git status를 확인 후 충돌 부분을 수정한 뒤 git add . 한 후 아래 명령어로 계속 이어간다

    git rebase --continue
  • 충돌이 모두 해결될 때까지 반복한다.

    만약 충돌 해결이 어려울 경우 아래 명령어로 rebase를 중단한다.

    git rebase --continue

0개의 댓글