TIL | git rebase의 흐름
pull
merge된 branch가 존재하면
git checkout main으로 진입한다.
로컬 main에서 merge된 git pull origin main을 받으면 자동으로 branch 전체에 pull 받은 값이 반영된다.
다시 내가 코딩하고 있는 branch로 들어간다. git checkout feature/...
rebase
변경된 사항에 대해서 git add .를 통해 추가한다.
git commit -m ""을 통해서 커밋을 등록한다.
git rebase -i main을 통해서 커밋들을 rebase한다.
편집기가 뜨게 되는데 ubuntu의 경우에는 nano 편집기가 default로 등록되어 있다. 개인적으로 nano 편집기는 별로 사용하지 않아서 default 편집기를 vim으로 설정해 줄 것이다.
$ git config --global core.editor "vim"
위의 명령어를 이용하면 rebase 할 때마다 vim 편집기를 불러올 수 있다.
push를 진행하기 전에 git add .와 git commit을 완료했으면 git rebase -i main을 통해서 rebase를 진행한다.
vim 편집기가 떴으면 맨 위의 커밋만 push 상태로 두고 아래의 커밋들은 squash를 시킨다. (push를 지우고 s만 남기면 된다.)
저장하고 빠져나온 상태에서 conflict가 발생하지 않았다면 git push feature/... -f로 feature branch에 강제로 push하고 하고 PR을 작성한다.
일반적으로 git은 commit이 rebase된 것을 정상적인 상태로 인식하지 않기 때문에 rebase를 하고 push에 -f 옵션을 반드시 붙여서 강제로 push 해줘야 한다.
remove
git의 브랜치를 삭제하고 싶을 때는 아래의 명령어를 입력하면 된다.
- 로컬 브랜치를 삭제하고 싶을 때
$ git branch -d 브랜치명
- 리모트 브랜치를 삭제하고 싶을 때
$ git push origin --delete 브랜치명
Author And Source
이 문제에 관하여(TIL | git rebase의 흐름), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@unihit/TIL-git-rebase의-흐름저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)