아미(아름다운미소)

Git : merge 명령어 정리 본문

랭귀지/Git

Git : merge 명령어 정리

유키공 2018. 7. 18. 09:00

merge

현재 브랜치에 다른 브랜치를 머지한다. 만약 충돌(conflict)이 발생하면 깃은 자동으로 머지를 중단하고 충돌이 발생한 파일에 각 커밋의 내용을 표시해줍니다.

깃의 머지는 두 개의 부모 커밋을 가리키는 특별한 커밋을 만들어 냅니다. 두 개의 부모가 있는 커밋은 '한 부모의 모든 작업내역과 나머지 부모의 모든 작업, 그리고 그 두 부모의 모든 부모들의 작업내역을 포함한다'라는 의미가 있습니다.

git merge 브랜치1 [브랜치2 브랜치3 브랜치3 ...]

git merge iss123  # 헤드 브랜치(현재 브랜치)에 iss123 브랜치를 머지
git merge iss123 hotfix  # 헤드 브랜치에 iss123과 hotfix를 머지

나열되는 브랜치들은 현재 헤드가 가리키는 브랜치에 어떤 브랜치들을 머지할 것인지를 의미합니다. 그래서 다음의 경우:

git merge A B

아래와 같습니다:

merge A and B to CURRENT_BRANCH

커밋하지 않고 머지

git merge --no-commit

머지 도구 실행

3-way merge에 실패했을때 사용한다. mergetool로 지정된 앱을 실행하면서 .orig 확장자로 백업파일이 생성됩니다.

git mergetool

fetch 후 머지

fetch로 받아온 데이터를 현재 브랜치와 머지합니다.

git merge FETCH_HEAD

여러 커밋을 하나로 묶어서 머지

git merge --squash TARGET_BRANCH

머지할 브랜치의 커밋 이력을 하나로 압축한 별도의 커밋을 만들고 헤드 브랜치에 머지한다. 일반 머지와 다르게 하나의 부모커밋(헤드 브랜치 기준)만 갖습니다.


'랭귀지 > Git' 카테고리의 다른 글

Git : push 명령어 정리  (0) 2018.07.21
Git : mv 명령어 정리  (0) 2018.07.19
Git : init 명령어 정리  (0) 2018.07.16
Git : help 명령어 정리  (0) 2018.07.15
Git : fetch 명령어 정리  (0) 2018.07.14
Comments