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도 직접 작성할수 있습니다.
댓글
댓글 쓰기