3장.깃과 브랜치
브랜치 알아보기
브랜치가 필요한 이유
- 메인코드를 바로 수정하면 힘들어짐 -> 메인 코드는 그대로 두고, 브랜치를 따로 만들어서 기능을 추가하고 오류 수정 후, 브랜치안에서 모든것이 해결되면 병합하는 방식.
브랜치의 기능 살펴보기
- 브랜치: 커밋을 가리키는 포인터
- 분기한다: 새 블랜치를 만드는 것
- 병합한다: 분기했던 브랜치를 main 브랜치에 합치는 것.
브랜치 만들기 및 이동하기
새 브랜치 만들기
- git branch: 브랜치를 만들거나 확인하는 명령(확인 명령)
- git branch “브랜치 이름”: 브랜치 만듦
새 커밋을 추가하면 어떻게 될까?
- git commit -am “ “을 해서 커밋하면, 현재 브랜치에만 적용되고 나머지 브랜치에는 적용되지 않는다.
- git log –oneline: 한 줄에 한 커밋씩 보여 주기 때문에 한눈에 확인하기 편함.
브랜치 전환하기 – git switch
- git switch 전환하려는 브랜치 명
브랜치에서 커밋하기
전환한 브랜치에서 커밋하기
- 브랜치 전환후 commit! 그럼 해당 브랜치에 커밋됨.
브랜치와 커밋의 관계 알아보기
- git log –oneline –branches
- git log –oneline –branches –graph
브랜치 간의 차이점 살펴보기
- git log main..apple(왼쪽에 있는 브랜치를 기준으로 오른쪽 브랜치와 비교)
브랜치 병합하기
서로 다른 파일 병합하기
- HEAD: 전환한 브랜치와 해당 브랜치의 최신 커밋을 가리키는 포인터 역할
- o2라는 새로운 브랜치를 만듦
- main 브랜치에 main work 2라는 커밋 만듦.
- o2 브랜치에 새로 o2 work 2 커밋함.
⭐병합위해선 일단 main 으로 전환!
$ git switch main
$ git merge o2
서로 다른 브랜치에서 한 문서의 다른 부분을 수정했을 때 병합하기
$ git switch main
$ git merge o2
- 동일. 자동으로 알아서 합쳐줌.
서로 다른 브랜치에서 한 문서의 같은 부분을 수정했을 때 병합하기
$ git switch main
$ git merge o2
- 동일. 단, 병합 편집기에서 어떻게 편집할지 선택해야함.
병합이 끝난 브랜치 삭제하기
❗ 삭제해도 브랜치가 완전히 사라지는게 아니고 같은 이름의 브랜치를 만들면 예전 내용을 다시 볼 수 있다.
$ git branch -d "브랜치 명"
$ git branch -D "브랜치 명" (병합하지 않은 브랜치 강제 삭제)
cherry-pick으로 병합하기
⭐원래
⭐cherry-pick
- 특정 버전만 병합 가능. 다른 버전은 합쳐지지 않음.
$ git cherry-pick 해시
- git log –oneline –all –graph: 최신 커밋말고도 모두 보여줌.
This post is licensed under CC BY 4.0 by the author.