Git 입문 2

브랜치 생성 및 전환과 병합(Merge)

생성과 전환

브랜치

독립적으로 작업을 진행하기 위해 갈라져 나온 버전

독립적이기 때문에 여러 작업을 동시에 진행 가능

Master branch : 저장소를 처음으로 만들었을 시 기본으로 생성

브랜치 생성/수정/삭제

$ git branch  // 브랜치 확인

$ git branch 브랜치명 // 브랜치 생성

$ git branch -m 브랜치명 바꿀 이름  // 브랜치 이름 수정

$ git branch -d 브랜치명 // 브랜치 삭제

브랜치 전환

img/Untitled.png

$ git checkout 브랜치명 // 브랜치 전환

$ git checkout -b 브랜치명 // 생성과 동시에 전환

브랜치 전환 시 오류 발생할 경우

img/Untitled%201.png

현재 작업 상황 임시 저장

$ git statsh  // 현재 작업 중 상황을 임시 저장하고 작업 트리를 깨끗하게 만들어줌

$ git stash list // 임시 저장한 리스트 확인

$ git stash apply 불러오려는 인덱스 // 임시 저장한 리스트 불러오기

병합 (Merge)

자동 병합

img/Untitled%202.png

수동 병합

두 브랜치 간의 수정 사항이 겹친다면 자동 병합이 불가능하여 수동 병합을 진행해야한다.

수정사항이 겹치는 파일을 확인하면 겹치는 부분이 꺽쇠로 구분되어 겹치는 위치를 알 수 있다.

그 부분을 수동으로 합치거나 수정해서 병합을 시도하면 자동 병합이 된다.

- 정리하며 병합하기

    rebase

    별도 브랜치 기록 남기는 대신에 중간에 커밋을 끼워 넣음으로서 간단하게 바꿔준다.

    ```jsx
    $git rebase 브랜치명 //현재 HEAD와 대상 브랜치간의 공통 커밋 이후에 해당 커밋을 배치
    ```

    충돌이 있는 파일은 꺽쇠를 기준으로 충돌 된 부분을 해결해주고 스테이징 해준다.

    ```jsx
    $ git rabase — continue // 를 통해 마무리하면 rebase 병합 완료
    ```

Discussion and feedback