Git Bash로 브랜치 관리하기
branch
브랜치 확인하기
git branch
* 은 현재 "master"브랜치에 있다는 의미이다.
브랜치 생성하기
git branch <만들고자하는 브랜치명>
"test"라는 브랜치를 만들었고
현재 "master" 브랜치에 있음을 알 수 있다.
브랜치 체크아웃하기
git checkout <변경하고자 하는 브랜치명>
체크아웃이 된 것이 확인가능하다.
"git log"에서도 HEAD는 "test"를 가리키고 있다고 표시된다.
HEAD는 test브랜치의 최신 커밋을 가리키고 있다.
"master"브랜치로 체크아웃하면 "test"브랜치에서 작업했던
"1.txt"가 사라져 있다.
"master"브랜치와 "test"브랜치 비교
"master" 브랜치의 최신 커밋
"test" 브랜치의 최신 커밋
위 두 개의 이미지를 통해
"test"브랜치의 base도 확인 가능하다.
"master" 브랜치에서 "test" 브랜치 확인하기
git log --branches
"master"브랜치에서도 "test"브랜치가 확인가능하다.
HEAD는 "master"의 최신 커밋을 가리키고 있다.
브랜치 병합하기
merge
"test"브랜치를 "master"브랜치로 병합하기
1. 병합의 기준이 될 브랜치로 체크아웃을 한다.
git checkout <병합의 기준이 될 브랜치>
"test"브랜치를 "master"브랜치로 병합하기 위해
"master"브랜치로 체크아웃하였다.
2. 병합할 브랜치를 입력한다.
git merge <병합할 브랜치>
"git log"를 하면 "test"브랜치가 "master"브랜치로
병합된 것을 알 수 있다.
"test"브랜치에 서 작업했던
"1.txt"도 생겼다.
브랜치 삭제하기
병합한 뒤 필요 없어진 브랜치는 삭제해 주는 것이 좋다.
브랜치 삭제
git branch -d <삭제할 브랜치>
"test"브랜치가 삭제되었다.
브랜치를 생성하고 체크아웃하기
git checkout -b <생성할 브랜치>
브랜치의 생성과 동시에 체크아웃되었다.
브랜치 병합 시 충돌 해결하기
아래와 같은 상황을 만들어 주었다.
병합시 충돌이 일어날 수밖에 없다.
merge를 명령했더니 "1.txt"가 충돌이 있다고 알려준다.
텍스트가 자동적으로 바뀌어 충돌이 일어난 부분을 알려준다.
현재 HEAD는 "master" 이므로
1098765는 "master"브랜치의 내용이고
아래는 "number" 브랜치의 내용이다.
구분은 가운데 "============="으로 표시되었다.
직접 수정하며 필요 없는 텍스트는 지워준다.
충돌을 해결하고
스테이지에 올리고 커밋을 해준다.
git commit
커밋할 때 위 명령어를 입력하면
캡처하진 못했지만
충돌을 해결한 commit에는 자동으로 충돌이 일어난
내역을 작성해 준다.
'깃 탐구' 카테고리의 다른 글
Git) 원격 저장소에 clone과 push 하기 (0) | 2023.04.06 |
---|---|
Git) rebase (0) | 2023.04.06 |
Git) 작업 임시 저장하기 (0) | 2023.04.06 |
Git) 작업 되돌리기 (0) | 2023.04.06 |
Git) 작업 내역 비교하기 (0) | 2023.04.06 |