[Git] branch와 merge

·2022년 11월 30일
0

Git

목록 보기
2/4

📌 git branch

📍 branch 확인

git branch

git branch 명령어를 실행하면 로컬에 존재하는 브랜치 리스트가 나오며, *는 현재 선택된 브랜치(checkout된 브랜치)를 의미한다.

📍 branch 생성

git branch BRANCH_NAME

git branch로 생성한 브랜치를 선택하기 위해서는 git checkout을 사용해야 한다.

git checkout BRANCH_NAME

새로운 브랜치를 생성함과 동시에 해당 브랜치를 선택할 수도 있다.

git checkout -b BRANCH_NAME

📍 branch 이력 확인

git log

현재 브랜치의 수정사항을 확인할 수 있다.

git log --branches

--branches 옵션을 사용하면 로컬에 존재하는 모든 브랜치의 이력을 확인할 수 있다.

git log --branches --graph

--graph 옵션을 사용하면 그래프 형태로 출력된다.

git log --branches --graph --oneline

--oneline 옵션을 사용하면 간단하게 브랜치와 메세지만을 확인할 수 있다.

📍 branch 차이점 확인

git log mian.BRANCH_NAME

이 명령어를 실행하면, 현재 브랜치와 main 브랜치의 커밋 차이를 확인할 수 있다.

git log -p main.BRANCH_NAME

-p 옵션을 사용하면 수정된 내용도 함께 확인할 수 있다.

📍 git diff branch 비교

git diff main.BRANCH_NAME

git diff 명령어를 사용하면 좀 더 간단하게 두 브랜치 사이의 차이점을 확인할 수 있다.

📌 git merge

새로운 브랜치를 만들어 새로운 기능 개발을 끝냈다면, 해당 기능을 main branch에 병합(merge)하여 새로운 기능을 사용자에게 제공해야 한다.

새로운 기능을 포함하고 있는 BRANCH_NAME을 main branch에 병합해보자!

git checkout main

BRANCH_NAME을 main branch에 병합하기 위해서 main branch로 이동해야 한다.

git merge BRANCH_NAME

git merge 명령어를 사용하여 main 브랜치에 병합하고자 하는 브랜치를 병합한다.

git branch -d BRANCH_NAME

-d 옵션을 사용하여 병합된 브랜치를 제거할 수 있다.
병합하지 않은 브랜치를 제거하고자 할 땐 -D 옵션을 사용해야 한다.

📌 git 충돌(conflict)이 발생한 경우

git merge 명령어를 사용하여 브랜치를 병합할 때, 동일한 파일을 수정한 경우 충돌로 인해 병합에 실패한다.

git status 명령어를 실행하여 현재 상태를 확인하면 병합하지 못한 파일을 확인할 수 있다.

📍 reset을 이용한 병합 취소

git reset --merge BRANCH_NAME

바로 직전 병합을 취소한다.

📍 revert을 이용한 없던 일 만들기

git revert 605f5e3

// git revert 무력화할 commit

revert 명령은 기존 커밋과 정확히 반대되는 커밋을 만든다.

reset으로 삭제하거나 변경하는 것보다는 history 관리 측면으로 봤을 때 revert로 기존 commit을 무력화시키는 것이 더 좋다.

git revert --mainline 1 cb70c2d

// git revert --mainline 남길line 병합commit

--mainline 옵션으로 어느 브랜치를 남길지 결정할 수 있다.

<참고 : https://cosmosproject.tistory.com/270
https://dev-yakuza.posstree.com/ko/git/branch-merge/
https://velog.io/@dev2820/Git-%EC%A0%95%EB%A6%AC-%EB%B3%91%ED%95%A9-%EC%B7%A8%EC%86%8C%ED%95%98%EA%B8%B0 >

profile
개발을 개발새발 열심히➰🐶

0개의 댓글