[TIL : 34] Git 브랜치 관리와 고급 기능

jabae·2022년 1월 13일
0

TIL

목록 보기
34/44
post-thumbnail

Achievement Goals

  • Git 브랜치의 개념을 이해할 수 있다.

    yes! 🙌

  • Git 으로 협업하며 브랜치를 나누는 이유를 이해할 수 있다.

    yes! 👍

    • 한 소스코드에서 동시에 다양한 작업을 할 수 있게 해준다.
    • 소스코드의 한 시점과 동일한 상태를 만들고, 브랜치를 넘나들며 작업을 수행할 수 있다.
    • 각각의 브랜치에서 생긴 변화가 다른 브랜치에 영향을 주지 않고 독립적으로 코딩을 진행할 수 있다.
  • Git 으로 프로젝트를 관리하며 브랜치를 생성, 전환, 병합할 수 있다.
    • 브랜치 생성
      : git branch [새 브랜치 이름]
    • 새로운 브랜치 생성 후 해당 브랜치로 전환
      :git switch -c [새 브랜치 이름]
      or git checkout -b [새 브랜치 이름]


      git clonegit switch -c [새 브랜치 이름] 하면 다음과 같이 브랜치가 바뀐 것을 확인할 수 있다.

    • 브랜치 목록 확인
      : git branch

    • 브랜치 목록과 각 브랜치의 최근 커밋 확인
      : git branch -v
    • 브랜치 삭제
      : git branch -d [삭제할 브랜치 이름]
      or *git branch -D (병합하지 않은 브랜치 강제 삭제)
    • 브랜치 전환
      : git switch [브랜치 이름]
      or git checkout [브랜치 이름]
    • 브랜치 병합 - main 브랜치로 Feat 브랜치를 병합할 때 (main ← Feat)
      : 1) git checkout main // 병합할 브랜치로 이동 후
      . 2) git merge Feat // 병합
    • 구현이 완료된 브랜치를 Remote Repository로 업로드
      : git push origin [브랜치 이름]

    • 로그에 모든 브랜치를 그래프로 표현
      : git log --branches --graph --decorate
    • 아직 commit 하지 않은 작업을 스택에 임시로 저장
      : git stash
    • merge? rebase?
      merge : 변경 내용의 이력이 모두 그대로 남아 있기 때문에 이력이 복잡해 집니다.
      rebase : 말 그대로 branch base를 이동시킨다는 뜻으로, 머지처럼 브랜치 통합을 목적으로 하지만, 특정 시점으로 브랜치가 가리키는 곳을 변경하는 기능을 합니다.

참고하기
Dangit, Git!?! : https://dangitgit.com/ko
Github로 협업하기 : https://victorydntmd.tistory.com/91

profile
it's me!:)

0개의 댓글