rebase
코드에 대한 로그를 다시 정리(깔끔하게 정리)
squash
찌그러트리다(압축하다)
항상 과거로 찌그러트려야한다. (최신순으로 찌그려뜨린다.)
로그인 퇴근으로 모으겠다 - pick
로그인 아픔, 로그인 완료를 찌그려트리겠다 - squash
git rebase -i Head~3
최신로그 3개를 재지정하겠다는 것이다.
________________________________________________________________________________________________
실습 예제
4개의 파일이 있다.
3개의 로그파일을 불러올것이다.
git rebase -i Head~3
i를 입력하여 insert모드로 바꾸어준다.
drop - 삭제
삭제하고 싶은 로그를 pick에서 d로 바꾸어준다.
로그인아파서퇴근 삭제
esc를 눌러준다.
:wq를 눌러주면 빠져나온다.
git log로 확인을 해보면 로그인 아파서 퇴근이 없어진것을 확인할수있다.
복구
git log에는 삭제된 로그값이 없기때문에 git reflog를 통해서 확인한다.
git reset --hard로 복구해준다.
reword
commit의 이름을 변경한다.
rebase로 3개의 commit을 불러온다.
입력모드로 전환후
로그인 아파서퇴근을 pick에서 r로 바꾸어주고
저장후 나가준다.
아래와 같은 창이 나오면
입력모드로 바꿔준후
로그인아파서 퇴근 -> 로그인꾀병부려서퇴근으로 바꾸어준다.
저장후 나간다.
git log로 확인을 해보면
'로그인꾀병부려서퇴근'으로 commit이름이 바뀐것을 확인 할 수 있다.
squash
파란박스의 3개의 커밋로그를 찌그려뜨려야 한다면
로그인완료, 로그인꾀병부려서 퇴근 커밋 로그만 날려버리고
수정된 파일만 로그인 퇴근으로 가지고 가는 것이다.
로그인꾀병부려서퇴근, 로그인 완료를 pick에서 s로 바꾸어준다.
s가 squash의 약자이다.
아래의 화면이 나올것이다.
squash한 로그인 완료,로그인꾀병부려서퇴근을 지워주고 저장해준다.
git log로 확인을 해보면
로그인완료로 찌그려진것을 확인할 수 있다.
'git' 카테고리의 다른 글
git branch 전략 (0) | 2022.09.29 |
---|---|
git pull 예제 (0) | 2022.09.29 |
github - branch, clone(복제) (0) | 2022.09.02 |
git hub 파일 올리기 (0) | 2022.08.29 |
git 설치 (0) | 2022.08.25 |