git-branch에서 rebase하는 방법

|

패스트캠퍼스 웹 프로그래밍 수업을 듣고 중요한 내용을 정리했습니다.
개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.
이 포스팅에서는 branch rebase에 대해 설명합니다.

주요 용어 : push clone fetch pull rebase


Rebase? - 아직 수정 중

rebase또한 브랜치들을 merge하는 방법이다.

그러나 기본 merge, 즉 3-way 머지는 새로운 커밋을 만들었는데, 그래서 조금 복잡했는데 굳이 그러지 않아도 되는 경우가 있따.

합치는 과정이 없이 1자로 가는 로그를 만들어줄 수 있어

C2를 기반으로 하고 있던 C4(Experiment)를 C3(master)도 받고 C3의 뒤로 가도록 하는 방법은 git rebase master (experiment가 현재 브랜치인 경우로 설정. 그러면 현재 브랜치를 master 뒤에 놓도록 하는 명령어) -> master뒤에 experment 브랜치가 존재한다.

만약 오류가 뜬다면, vim을 통해 수정하고 git add -A, git rebase continue 하면 된다.

시점만 갈라지는 경우에는 리베이스를 하는게 좋다.

작업한 내용의 기록: merge, rebase: 옆으로 굳이 안갈라져도 되는 경우 그리고 로컬에서만 해야하고, 푸시한 커밋에서 하면 안된다. 이미 공개 저장소에 푸시한 커밋을 리베이스하지 마라 -> 리베이스하면 기존 커밋을 없애기 때문에, 다른 사람의 가지는 복잡해진다.

그래서 리베이스는 푸시한 커밋은 변경하면 안돈다.!

리베이스 충돌 해결 feature branch workflow

현재 브랜치를 이 브랜치로 옮긴다 $ git push -u origin yh-feature 알아서 완성시켜준다

Forking workflow 중앙저장소는 하나, 거기서 중앙저장소를 기반으로 한 개인 저장소를 다운을 받고 결과적으로 리모트 저장소는 3개

오픈소스: 여러며으이 개발자가 모여 코드를 만들어서 반영을 시키는데 그 코드를 관리하는 컨트리뷰터-> 괜찮다고 생각하면 머지를 시켜주고 그렇게 되면 콜라보레이터 안에 내가 컨트리뷰터가 되는것

포크 뜬 브랜치는 깃에만 있지 로컬에는 없어