gti squash해서 commit 이전상태로 merge하기

 

git을 이용하여 각각의 branch을 이용하여 merge를 하다 보면 merge하기 전에 staging상태를 한 상태에서 확인할려고 할수 있다.


사진1) 분리된 branch

사진1에서 각각의 branch에서 진행한 comment이다. M1에서 master 폴더에서 master1.txt을 생성하고 M2 branch에서 master2.txt파일을, 그리고 M3 branch에서 master3.txt를 생성하고 commit을 한다.


사진2) 로그 상태


Feature branch에서는 Master의 M2 commit에서 Feature branch을 분기한다. Feature 폴더에 feature1.txt을 생성하고 F1 branch를 생성한다. 그리고 한번 더 Feature 폴더안에 feature2.txt을 생성해서 F2 branch를 생성합니다. 


사진3) feature branch 로그 상태




사진4) feature branch에서 squash



사진5) feature를 master로 squash후 로그


사진4 처럼 "git merge --squash [branch name]"을 하게 되면 완전히 merge되지 않고 staged상태가 됩니다. 사진5 처럼 feature파일 2개가 staged상태 인것을 알수 있습니다.


사진6) commit 완료



사진7) commit 이후 master log 확인


만약 해당 staged를 commit하면 feature branch의 HEAD의 데이터가 merger가 됩니다. 기존 merge와 다른점은 staged상태에서 한번 더 검토할수 있고 commit할때 name도 직접 작성할수 있습니다.

댓글

이 블로그의 인기 게시물

Lesson 12_1 프로퍼티 노드(Property Node)

DAQ로 전압 측정하기-2

Lesson 12_2 참조를 이용한 프로퍼티노드(Property Node)