1브랜치를 메인 그리고 추가로 생성한 브랜치를 2브랜치로 가정했을때..

 

1. 3-way merge

신규 커밋이 있을 때 merge 명령을 통해 두 브랜치를 합치면 새로운 커밋을 자동으로 생성해준다.

 

1브랜치(main)+2브랜치 = new main3브랜치.

 

2.fast-forward merge 

 

메인브랜치가 만약 커밋이 없고 생성한 브랜치만 커밋이 있을경우?

이럴 경우를 fast-forward merge 라고 한다.

1브랜치(main)+2브랜치=  new main 2브랜치

둘을 합치면 새로운 커밋이 있는 2브랜치가 메인이 된다.

 

3.rebase and merge

간단하게 커밋시점을 옮긴후 merge 한다는것.

 

메인의 최근 커밋으로 2브랜치의 시작지점을 옮긴후 merge 하는것.

2브랜치로 스위치한담에 [git rebase main]을 한후 다시 메인브랜치로 스위치 -> 그리고 git merge 2브랜치

 

개인적으로 가장 안쓸것같은 3번.

 

4. squash and merge

2브랜치의 커밋한 내용을 한번에 메인브랜치와 이어주며 붙여준다는 느낌.

 

가장 깔끔하게 브랜치할수있을것같아서 개발배우면서 많이 쓰도록 노력하려고 한다.

하는 방법은 메인으로 스위치 한담에

[git merge --squash 브랜치명]

[git commit - '메시지'] 를 통해 남긴다.

 

 

'Git' 카테고리의 다른 글

Git 첫 대면  (0) 2022.09.25

 

git git git 말만 들었지 도대체 무슨 용도이며 왜 사용하는가를 알게 된 지금 간단한 정리를 해보자.

 

 

git은 버전관리프로그램.

게임으로 따지면 오토저장 말고 수동저장으로 차곡차곡 save파일이 쌓인 것과 비슷하다.

 

개발을 하다보면 오류가 나는건 당연지사인데 이걸 되돌리고 싶다 할때 git이 필요하며

 

깃허브란 곳에서 협업을 할때도 사용한다고 한다.

 

또한 컴퓨터에 저장하다가 날려먹는 경우를 방지하기 위해 원격저장소에 저장하여 안전하게 하는 경우와

 

컴퓨터 노트북등 그간 해왔던 개발을 옮기기에 간편.

 

 

 

시작을 한다면 터미널을 이용해

 

[ git init ] 을 입력하여 시작한다.

[git add .]  or [git add (파일명)]

을 통하여 내 코딩한 것을 staging 장소로 보낸다.

[got commit -m '메시지'] 내가 알아볼수있게 커밋한다.

 

난 아직 초보라 git log를 통해 계속 확인해보고 익숙해지려고 노력중이다.

 

물론 vs에서 커밋버튼이 있는 것을 이용해도 편하다.

배우는 입장에서 그 과정을 안다면 더 좋을 것 같아 이렇게 배운다..

 

커밋이야 개발자들이 1일1커밋 등 말로 자주 들어 익숙하다 하지만

브랜치라는 개념은 다소 생소했다.

 

 

내 식대로 표현하면 마블 멀티버스 같은 느낌?

 

어쨋든 커밋을 하는 시점에 브랜치를 생성해서 엑셀연습할때처럼 복제본에다가 이것저것 막 해보는 것.

 

그게 잘 통하면 merge를 통해 합쳐주는것.

 

[git branch 브랜치이름] 을 입력하여 브랜치를 생성해줍니다.

 

생성하면 기존에 작업하던 main과 방금 생성한 브랜치 이렇게 멀티버스 두개가 공존하는데

 

[git switch 브랜치이름] 을 통하여 브랜치를 넘나들수있다.

 

merge 의 방법은 다양한데 이 부분은 따로 정리하는 것이 낫겠다.

 

 

 

 

 

 

 

 

'Git' 카테고리의 다른 글

브랜치를 합쳐보자.  (0) 2022.09.25

+ Recent posts