고급 Git
Amanda Crawford-Adamo
Software and Data Engineer
Git Rebase 명령:
git rebase <branch_name>

data-cleanup 기능 브랜치를 체크아웃합니다.git checkout data-cleanup
main 브랜치를 data-cleanup에 리베이스합니다.git rebase main
data-cleanup 커밋이 main의 최신 커밋 뒤로 재생성됩니다data-cleanup 커밋은 새로운 해시를 갖습니다참고: 충돌이 나면 수동으로 해결해야 합니다.

git rebase -i <commit_hash>
기능
경고!
main 같은 공개 브랜치에 rebase를 사용하지 마십시오$$
편집 전의 data-validation 브랜치 히스토리입니다.
$ git log --oneline data-validation
abc1234 Optimize validation performance
def5678 Fix validation bug
ghi9101 Add data validation function
xyz1234 New Main Branch Commit
vwx7890 Main Branch Commit
jkl2345 Initial commit
열린 편집기에서 pick과 fixup으로 커밋 히스토리를 수정합니다.
$ git rebase -i HEAD~3
pick ghi9101 Add data validation function
fixup def5678 Fix validation bug
fixup abc1234 Optimize validation performance
# Rebase xyz1234..abc1234 onto HEAD~3(xyz1234) (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# f, fixup <commit> = like "squash", but discard this commit's log message
...
Before
$ git log --oneline data-validation
abc1234 Optimize validation performance
def5678 Fix validation bug
ghi9101 Add data validation function
xyz1234 New Main Branch Commit
vwx7890 Main Branch Commit
jkl2345 Initial commit
After
$ git log --oneline data-validatoin
mno6789 Add data validation function
xyz1234 New Main Branch Commit
vwx7890 Main Branch Commit
jkl2345 Initial commit
다음 커밋들이 하나로 합쳐졌습니다

Merge
Rebase
Merge
완료된 기능을 통합하고 개발 문맥을 보존할 때
Rebase
기능 브랜치를 main과 동기화하거나, 머지 전 정리할 때
기억하세요
고급 Git