git-branch에서 rebase하는 방법
17 May 2018 | git branch패스트캠퍼스 웹 프로그래밍 수업을 듣고 중요한 내용을 정리했습니다.
개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.
이 포스팅에서는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개
오픈소스: 여러며으이 개발자가 모여 코드를 만들어서 반영을 시키는데 그 코드를 관리하는 컨트리뷰터-> 괜찮다고 생각하면 머지를 시켜주고 그렇게 되면 콜라보레이터 안에 내가 컨트리뷰터가 되는것
포크 뜬 브랜치는 깃에만 있지 로컬에는 없어