-
(git) 10 - Git 실습 (고급) rebase 로그 관리개발/git 2024. 10. 16. 23:59
rebase : 코드에 대한 로그를 다시 정리한다. (깔끔하게)
squash : 찌그러트리다, 압축하다.
사진과 같이 여러 개로 정리 안된 로그를 "로그인" 이라는 로그로 정리를 하는 방법이다.
여기서는 squash 라고 해서 어떤 점으로 찌그러트릴지(모을지)가 중요하다.
항상 과거로 찌그러뜨려야 한다.
왜냐면 과거 로그가 없어지면 안되기 때문이다.
그래서 과거 로그를 pick 하고, 이후 로그를 squash 처리해준다.
이렇게 git rebase -i HEAD~3 으로 몇 개를 리베이스 할 지를 정하면 된다.
rebase 기초가 있어야 merge --squash 를 활용할 수 있다.
git reabse -i HEAD~3 명령어를 치면 다음과 같이 나오고,
i 키를 누르면 아래 하단처럼 INSERT 라고 뜬다.
이렇게 하면 pick 에서 재커밋을 하고, 나머지는 스쿼시 한다는 뜻이다.
d 하면 드롭이다.
하고 나서 esc 키를 누르고 :wq 를 쳐서 빠져나온다.
이러면 로그인아파서퇴근 코드가 사라진다.
다시 원복하고 싶으면 git reflog 에서 rebase 전으로 돌아가기 위해
git reset --hard 1b2d(로그인완료) 를 한다.
r : reword 는 커밋은 사용하되, 커밋메세지를 수정하는 것이다.
다시 i 누르고 커밋메세지 변경하면 된다.
squash 는 파일을 들고 처음으로 돌아오고, 커밋 메세지만 사라지는 것이다.
이렇게 창에서 이전에 커밋 메시지 지우고 [로그인 완료] 를 [로그인] 으로 바꿔주고 화면을 나온다.
그러면 로그가 굉장히 깔끔해진 것을 볼 수 있다.
출처 : https://www.inflearn.com/course/%EA%B9%83-%EC%9E%85%EB%AC%B8/dashboard
'개발 > git' 카테고리의 다른 글
(git) 12 - Github remote branch (1) 2024.10.22 (git) 11 - Github 사용법 (3) 2024.10.17 (git) 9 - Git 실습 (고급) merge 충돌 (0) 2024.10.16 (git) 8 - Git 실습 (고급) fast-forward merge / 3 way merge (0) 2024.10.14 (git) 7 - Git 실습 (고급) git branch (1) 2024.10.14