먼저, 이전 포스트에서 다뤘던 branch의 내용과 이어지기 때문에 이전 포스팅을 참고한다.
2023.03.03 - [분류 전체보기] - [Git] Git Branch / fast forward
[Git] Git Branch / fast forward
Git Branch 독립적으로 어떤 작업을 진행하기 위한 개념 각각의 Branch는 다른 Branch의 영향을 받지 않는다. (독립적이다) Git Branch 종류 메인 브랜치 : 배포할 수 있는 수준의 안정적인 Branch 토픽 브랜
saying-me.tistory.com
Git Merge
$git checkout master
$git merge like_feature
- master branch로 전환하고
- like_feature branch를 master에 병합한다.
- 이전에 c2를 가리키고 있던 master 브랜치가 c3로 이동하게 된다.
like_feature 브랜치의 내용은, 이전 포스팅에서 다뤘던 것처럼
master 브랜치에서 업데이트 된 내용이기 때문에
위처럼 병합을 시도했을 때 곧바로 merge가 잘 이루어지게 된다.
이렇게 merge가 되는 것을 fast-forward 라고 한다.
갈라지는 branch
fast-forward 같은 방식이 아닌
각각의 브랜치에서 같은 파일의 내용을 다르게 수정해 보는 경우가 있다.
각각의 브랜치는 다른 브랜치로부터 영향을 받지 않는 독립적인 개념이기 때문에,
여러 작업을 동시에 진행할 수 있다.
$git log --graph --all
$git log --pretty=oneline --graph --all
이 때 위와 같이 명령어를 작성하면 commit graph를 확인할 수 있다.
--pretty=oneline 과 같은 추가 옵션을 주어서 더 깔끔하게 볼 수도 있다.
* 과 | / 선분으로 브랜치가 어떻게 나뉘어 있는지 그래프 형식으로 확인이 가능하다.
$git checkout master
$git merge like_feature
merge를 하게 되면 master와 like_feature가 합쳐지면서 새로운 체크포인트 c5가 생기게 된다.
Git Branch 삭제
$git branch --merged
like_feature
* master
- merge된 브랜치들을 볼 수 있다.
$git branch -d like_feature
- 사용을 마친 branch는 위와 같은 명령어로 삭제할 수 있다.
병합이 완료된 모습을 그래프를 통해 확인해 보면, init git을 기준으로 브랜치가 뻗어나가 마지막에 합쳐진 것을 볼 수 있다.