인프런 강의를 보고 공부한 글입니다.
https://www.inflearn.com/course/%EC%A0%9C%EB%8C%80%EB%A1%9C-%ED%8C%8C%EB%8A%94-%EA%B9%83/dashboard


📋 차원 넘나들기


📌 여러 branch 만들어보기


☑️ Branch

  • 분기된 가지 (다른 차원)

  • 프로젝트를 여러가지 모습으로 관리해야할 때
    ex> 테스트서버, 새로운 기능, 새로운 디자인 등등

  • 여러 작업이 독립적으로 진행될 때

    • 각 차원에서 작업한 뒤 확정된 것을 메인 차원에 통합

위 모든 것들을 하나의 프로젝트 폴더에서 진행하기 위함!


☑️ branch 생성

git branch (생성할 브랜치 이름)

☑️ branch 목록 확인

git branch

  • 별 표시 : 현재 브랜치는 main이라는 뜻

☑️ branch 이동

git switch (이동할 브랜치 이름)

  • (add-coach) : 현재 브랜치가 add-coach 라는 뜻

☑️ branch 생성과 이동 동시에 하기

git switch -c (생성하고 이동할 branch 이름)


☑️ branch 삭제

git branch -d (삭제할 브랜치 이름)

지워질 브랜치에만 있는 내용이 있는 경우, 옵션을 -D를 주어 강제 삭제해야 한다.


☑️ branch 이름 변경

git branch -m (기존 브랜치명) (새 브랜치명)

☑️ branch 내역 살펴보기

  • git log 명령어의 경우, 현재 branch에서의 작업 내역만 알 수 있다.
    • 여러 브랜치의 내역을 한꺼번에 편리하게 보기 위해서 아래 명령어를 사용한다.
git log --all --decorate --oneline --graph

  • 이는 소스트리에서 확인하면 더 눈에 잘 들어온다.



📌 branch를 합치는 방법 두 가지

☑️ Merge

  • 두 브랜치를 새로운 하나의 커밋에 이어 붙인다.
    • 브랜치 사용 내역을 남기고 싶을 때 적합

☑️ Rebase

  • 한 줄로 깔끔하게 정리된 내역을 원할 때 적합
    • 이미 팀원들과 공유된 커밋들에 대해서는 사용하지 않는 것이 좋다.



📌 branch 합치기 실습

☑️ Merge

  • Merge를 진행하기 전, 합친 후 남길 본체 branch로 먼저 이동해야 한다.
git merge (합쳐지게 될 branch 이름)


  • merge는 새로운 하나의 commit이기 때문에, reset으로 되돌릴 수 있다.

  • 병합된 branch는 삭제하면 된다. (git branch -d (삭제할 브랜치 이름))


☑️ rebase

  • rebase 전, merge와 다르게 rebase 하는 branch로 이동해야 한다. (main 말고)
git rebase main


  • 근데, rebase를 해도 main에 rebase했던 branch의 작업 내역들이 안합쳐진다.
    • 위 소스트리 그림을 잘 보면, main의 시점은 merge한 시점(세번째 줄)에 있는데, rebase했던 branch 혼자 시점이 앞서가있다. (첫줄)
    • 이 시점을 맞춰줘야 한다.

☑️ 시점 맞추기

  • 시점을 맞추기 위해, 다시 main으로 이동한 후, merge를 해야한다.
git merge new-teams


  • 이후 브랜치를 삭제 해주면 된다.

이 과정을 모두 겪으면 main 브랜치에 다른 브랜치의 작업들이 합쳐졌다.



📌 충돌 해결하기

☑️ 브랜치와 브랜치 사이의 충돌

  • 같은 파일 위치에 다른 내용이 입력될 때 어떻게 병합할 지 모르겠으니 너가 알아서 해줘 하고 프로그래머에게 넘김

☑️ merge 충돌 상황


  • 첫 사진의 연한 흰 글 한줄 (Accept Current Change / Accept incoming Change / ... )
    에서 중복 입력 중 본인이 원하는 상황을 좌클릭 하면 된다.

☑️ 당장 충돌 해결이 힘들어서 충돌을 피할 경우

git merge --abort

해결 가능 시 충돌하는 부분을 add, commit 과정으로 병합 완료


☑️ rebase충돌 상황

  • git status로 상황 다시 확인 가능

☑️ 충돌 해결이 가능할 경우

  • 우선 git add .
git rebase --continue
  • 위 과정을 모든 충돌이 해결될때까지 반복 (여러 충돌을 다 해결해야함.)



📌 SourceTree로 진행

☑️ 브랜치 생성

  • 위 사진의 좌측 상단, 브랜치 버튼을 클릭하면 된다.

☑️ 브랜치 이동

  • 위 사진의 좌측의 브랜치들 중 이동하고 싶은 브랜치를 더블 클릭 하면 해당 브랜치로 이동할 수 있다.

☑️ SourceTree 브랜치 충돌 상황 (merge)

  • 위 사진의 현재 브랜치로 to-merge 병합 을 클릭한다.


위 오류가 발생한다.


☑️ SourceTree 브랜치 충돌 상황 (rebase)

  • 위 사진의 '현재 변경사항을 main에 재배치'를 클릭한다.

  • 이 후 다시 main 브랜치로 온 후, to-rebase 브랜치를 병합한다.

  • 이 후 안쓰는 두 브랜치 삭제


profile
개발 공부!

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN