TIL | git rebase의 흐름

unihit·2021년 1월 31일
0

TIL

목록 보기
11/25
post-thumbnail

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 브랜치명

0개의 댓글