fast-forward merges
HappyCoding/git

fast-forward merges

fast-forward merges

git merge 중에서 가장 깔끔하고, 간단함.

master branch에서 새로운 branch가 생성된 이후에 master branch의 변동사항이 없다면 

merge를 할 때 master branch가 가리키고 있는 pointer를 d가 아닌 f로 옮겨 놓기만 하면 된다.

그리고 branch를 삭제하면 

 

그래서 fast-foward가 가능하다면 항상 이렇게 merge하는 것을 선호한다.

 

장점일 수도 있고 단점일 수도 있는 점:

history에  merge가 되었다는 사실이 남지 않는다.

feature-A branch가 있었고, master branch 에 merge가 되었다는 것이 commit으로 남지않음

 

순수하게 모든 것을 history에 남기길 좋아하는 팀이면 별도로 merge commit을 만든다.

 

 

 

master branch에서 feature-A feature-B branch가 파생되었고 두가지의 COMMIT이 있는 상황 그리고 BRANCH가 파생된 이후에는 따로 COMMIT이 없다.,

feature-A를 마스터 브랜치에 merge할 것임.

 

 

merge :

feature-A에서 작업한 내용을 master branch로 가져오는 것임.

 

 

merge할 준비

master 하면 1234 파일 나오고

feature-a  branch로 가서 ls 하면 56도 추가된다.

 

git checkout master #일단  master branch로 간 다음 

 

git merge feature-a   #baaaaam!!!!! 너무나 간단하게 merge 된 것 확인!

feature-a에서 작업한 게 master에 포함된 것 확인할 수 있고

 

git hist에서 log 확인해보니, master branch에는 feature-a branch의 내용 e f 가 포함된 것 확인가능

 

 

git branch -d feature-a # 무언가를 merge 했다면 더이상 feature-a branch가 필요 없으므로, 

보통은 branch라는 명령어 사용해서 삭제해준다.

master branch 에서는 어떤 merge commit이 없다.

그냥 한 사람이 a b c d e f commit을 해나간 것처럼

e,f 는 feature a branch 에서 작업+ merge 되었다는 history가 남지않는다. 

'HappyCoding > git' 카테고리의 다른 글

three-way merges  (0) 2021.05.02
git merge option : no-ff (no fast-forward)  (0) 2021.05.02
git branch 사용  (0) 2021.05.01
git tag  (0) 2021.05.01
git 명령어  (0) 2021.05.01