#Merge란

로컬저장소에 패치로 받아온 커밋기록(변경된 소스코드)과 자신의 소스코드를 합치는 작업

 

 

fast-forward : 변경내용이 있는 브랜치(작업단위)가 더 최신 내용을 담고 있고,

                  병합하려는 브랜치의 내용을 전부 포함하고 있는 경우

 

ff란 fast-forward의 약자이다

 

$ git merge 브랜치명 : 일반적인 병합

$ git merge --no-ff 브랜치명 : 현재 브랜치와 병합대상의 관계가 Fast-forward던 아니던 무조건 병합

$ git merge --ff-only 브랜치명 : 현재 브랜치와 병합대상의 관계가 무조건 Fast-forward일 때만 병합

$ git merge --squash 브랜치명 : 현재 브랜치의 병합대상과 차이나는 커밋을 하나로 병합

 

 

 

 

#이클립스에서의 Merge

 

Merge옵션

  • Commit : 병합 커밋(리모트로 부터 패치를 해서 변경사항이 있을 경우 내용을 하나로 통합함)
  • No Commit : 병합 커밋을 준비하지만 커밋은 하지 않음
  • Squash : Merge할 브랜치의 커밋을 하나로 합친뒤 타겟 브랜치에 커밋하는 방식

Fast forward option

  • If a fast-forward, only update the branch pointer : fast-forward일 경우 브랜치 포인터 업데이트
  • If a fast-forward, create a merge commit : fast-forward일 경우 병합 커밋을 생성
  • If not a fast-forward, fail : fast-forward가 아닐경우 병합하지 않음

fast-forward : 변경내용이 있는 브랜치(작업단위)가 더 최신 내용을 담고 있고,

                  병합하려는 브랜치의 내용을 전부 포함하고 있는 경우

'Tools > GitHub' 카테고리의 다른 글

Git 설치와 사용법(SourceTree)  (0) 2021.01.15
Git 설치와 사용법(Git Bash)  (0) 2021.01.15
[GitHub] Merge 와 Rebase의 차이  (0) 2020.10.26
[GitHub] 개념정리  (0) 2020.10.14
[GitHub] 명령어 모음  (0) 2020.10.04

+ Recent posts