메인을 기반으로 메인과 같은 역할을 하는 Develop 브랜치 생성
Develop 에서 feature 브랜치 생성하여 작업
Release/ v2.0.0
Hotfix
특정 시점으로 돌아가야할 상황이 발생 하기 때문에
Commit 메세지를 명확하게 작성 해야한다.
rebase 사용하게 되면 불필요한 merge commit 제거
같은 작업을 한 commit들 끼리 모아줄 수 있음(ex. sign-iun에 대한 commit 메세지)
해당 브랜치의 base commit을 확인하는 방법 : git merge-base main feature/sign-in
(필수 아님)
명령어 Squash
커밋 메세지들 여러개가 있는데, Squash 명령어를 사용하여 하나의 커밋 메세지로 만들 수 있다.
하나의 커밋들에게는 고유한 해쉬값이 있다.
ex) 해쉬 값이 1, 2, 3
보통 push 를 하게 되면 3번쨰가 최신일걸 알기 떄문에 오류가 발생하지 않지만
예를 들어 ? rebase를 하게 되면 갑자기 100?으로 되어 충돌이 발생하게 됨 우리는 100번쨰가 최신인걸 알지만 컴퓨터에서는 이해할 수 없다?
그렇기 떄문에 git push origin feature/login -f 옵션을 사용해야 함(강제로 force push)
git checkout main
main 에서 pull 을 받음(항상 최신 상태 유지)
git checkout feature
git rebase -i main
pick "메세지" 를 확인 할 수 있다.
pick 을 s 로 변경(squash)
:wq (저장)
그 후 commit message 수정
successfully 확인
git log로 commit 메세지가 합쳐진걸 확인
git push origin feature -f
conflict 해결
git add .
git re base --continue