Post

3장.깃과 브랜치

브랜치 알아보기

브랜치가 필요한 이유

  • 메인코드를 바로 수정하면 힘들어짐 -> 메인 코드는 그대로 두고, 브랜치를 따로 만들어서 기능을 추가하고 오류 수정 후, 브랜치안에서 모든것이 해결되면 병합하는 방식.

브랜치의 기능 살펴보기

  • 브랜치: 커밋을 가리키는 포인터
  • 분기한다: 새 블랜치를 만드는 것

alt text

  • 병합한다: 분기했던 브랜치를 main 브랜치에 합치는 것.

alt text

브랜치 만들기 및 이동하기

새 브랜치 만들기

  1. git branch: 브랜치를 만들거나 확인하는 명령(확인 명령)
  2. git branch “브랜치 이름”: 브랜치 만듦

새 커밋을 추가하면 어떻게 될까?

  • git commit -am “ “을 해서 커밋하면, 현재 브랜치에만 적용되고 나머지 브랜치에는 적용되지 않는다.
  • git log –oneline: 한 줄에 한 커밋씩 보여 주기 때문에 한눈에 확인하기 편함.

브랜치 전환하기 – git switch

  1. git switch 전환하려는 브랜치 명

브랜치에서 커밋하기

전환한 브랜치에서 커밋하기

  • 브랜치 전환후 commit! 그럼 해당 브랜치에 커밋됨.

브랜치와 커밋의 관계 알아보기

  1. git log –oneline –branches
  2. git log –oneline –branches –graph

브랜치 간의 차이점 살펴보기

  • git log main..apple(왼쪽에 있는 브랜치를 기준으로 오른쪽 브랜치와 비교)

브랜치 병합하기

서로 다른 파일 병합하기

alt text

  • HEAD: 전환한 브랜치와 해당 브랜치의 최신 커밋을 가리키는 포인터 역할

alt text

  • o2라는 새로운 브랜치를 만듦

alt text

  • main 브랜치에 main work 2라는 커밋 만듦.

alt text

  • o2 브랜치에 새로 o2 work 2 커밋함.

⭐병합위해선 일단 main 으로 전환!

$ git switch main
$ git merge o2

alt text

서로 다른 브랜치에서 한 문서의 다른 부분을 수정했을 때 병합하기

$ git switch main
$ git merge o2
  • 동일. 자동으로 알아서 합쳐줌.

서로 다른 브랜치에서 한 문서의 같은 부분을 수정했을 때 병합하기

$ git switch main
$ git merge o2
  • 동일. 단, 병합 편집기에서 어떻게 편집할지 선택해야함.

병합이 끝난 브랜치 삭제하기

❗ 삭제해도 브랜치가 완전히 사라지는게 아니고 같은 이름의 브랜치를 만들면 예전 내용을 다시 볼 수 있다.

$ git branch -d "브랜치 명"
$ git branch -D "브랜치 명" (병합하지 않은 브랜치 강제 삭제)

cherry-pick으로 병합하기

⭐원래

alt text alt text

⭐cherry-pick

alt text

  • 특정 버전만 병합 가능. 다른 버전은 합쳐지지 않음.
$ git cherry-pick 해시
  • git log –oneline –all –graph: 최신 커밋말고도 모두 보여줌.
This post is licensed under CC BY 4.0 by the author.

Trending Tags