[Git] Git branch

·2022년 12월 16일
0

Git branch🌿

브랜칭(branching) : 기존 개발중인 메인 개발 코드를 그대로 복사하여 새로운 기능 개발을 메인 개발 코드를 건드리지 않고 할 수 있는 버전 관리 기법

기존 main 브랜치에서의 작업은 유지하고 새로운 브랜치에서 자유롭게 코드를 추가, 삭제하고 기능 개발이 끝나면 main 브랜치와 합치는 과정(merge)을 거친다.

Branch 확인✔️

Repository에 생성된 Branch

git branch

현재 내가 위치한 Branch

git status

Branch 생성🆕/변경🔁

생성🆕

git branch <브랜치 명>

변경🔁

Switch : 전환하다.
Git에서 Swich란 로컬에서의 작업 공간(HEAD)를 다른 브랜치로 변경하는 작업을 말한다.

git switch <브랜치 명>
git checkout <브랜치 명>

생성 후 HEAD 변경

git switch -c <브랜치 명> , -c(create)
git checkout -b <브랜치 명>

Branch 합치기🆗

Merge : 합치다.
다른 브랜치에서 기능 개발이 끝나면 main 브랜치와 합치는 과정을 수행해야 한다.

  1. 완료된 기능 개발을 commit 한다.
  2. Merge를 위해 HAED를 main으로 전환한다.
    git switch main
  3. main 브랜치로 합쳐질 브랜치를 Merge한다.
    git merge <브랜치 명>

💡주의할 점
이론 상으로는 위에 방법으로 merge를 하지만, 실제 프로젝트를 진행할 때에는 로컬에서 브랜치를 합치기 보다는 pull request기능을 이용하여 변경 내역을 공유, 확인하고 프로젝트원들과의 상의 후에 Merge를 하는 경우가 많다!
함부로 의논없이 Merge하지 않게 주의할 것!!

Branch 삭제하기🚮

실제 개발 프로젝트를 진행할 때, 브랜치를 main, dev(개발 진행 단계), feature(개인 로컬 개발) 로 나뉘어 진행하는 경우가 많다. 따라서 feature이 merge된 기록은 dev 브랜치에 남기 때문에 merge(pull request) 후에는 삭제를 권장한다.

Github에서는 pull request가 성공적으로 마무리할 경우, 브랜치를 삭제하는 버튼이 활성화되므로 쉽게 삭제가 가능하다.

해당 내용에 관한 블로깅 링크 기입할 것!

git branch -d <브랜치 명>

Git은 원활한 버전관리를 위해 merge 되지 않은 브랜치는 삭제하지 못하도록 설정되어 있다. 그럼에도 해당 브랜치의 삭제를 원할 경우에는 git branch -D <브랜치 명>을 사용하면 된다.

Branch의 히스토리 확인👀

현재 위치해 있는 브랜치의 모든 커밋 히스토리 확인 가능!

git log

다른 브랜치에 없는 커밋 히스토리 확인

branchB에 없는 branchA의 모든 커밋 히스티를 확인할 수 있다.

git log branchB..branchA

파일 변경 사항 커밋 확인

해당 파일의 변경 사항(파일 이름 변경 등)이 담긴 모든 커밋을 확인할 수 있다.

git log --follow <파일 명>

branch간 상태 비교

branchA에 있지만 branchB에는 없는 것의 변경 내용을 확인할 수 있다.

git diff branchB..branchA

profile
🧑‍💻백엔드 개발자, 조금씩 꾸준하게

0개의 댓글

관련 채용 정보