-
[TIL] Day 31. git rebase 하는 법IT 지식 2020. 11. 15. 13:28728x90
안녕하세요 오늘은 저번에 다루었던 git 기능 중 하나인 git rebase를 하는 법에 대해 알아보도록 하겠습니다. 거창한 내용이 아닌만큼 오늘 포스팅은 다른 포스팅에 비해 조금은 양이 적을 수도 있겠네요
1. git rebase란?
git rebase는 git의 commit log를 관리하는 명령어 입니다. 지난 시간에 git commit log를 통해 작업 내역을 관리할 수 있다고 말씀드렸었는데요. git rebase라는 명령어는 이런 git의 commit log를 수정하고 축약할 수 있는 명령어입니다. git log는 파일이나 폴더 이름 바꾸듯 바꿀 수 있는 것이 아니라서 이러한 명령어를 터미널에 입력해야 수정할 수 있습니다.
2. how to rabase?
1) git add .
현재 작업중인 history를 전부 저장해줍니다.
2) git commit -m "commit 메세지"
이 명령어로 commit 메세지를 남겨줍니다.
3) git rebase -i main
브랜치에서 작업한 commit 메세지를 main의 commit log에 이어 붙이기 위해 해당 명령어를 입력해줍니다.
4) squashing 진행
위의 명령어를 진행하면 여러 commit 메세지가 등장하는데 옆에 pick이라는 글자가 쓰여 있습니다. 그 메세지들 중 가장 맨위의 log를 제외한 나머지 pick 글자들을 s로 바꾸어 줍니다. 그 후 `esc :wq`를 입력하여 메세지 창을 나와줍니다. 그러면 커밋 메세지 자체를 수정할 수 있는 메세지 창이 등장하게 되는데 그 중 남기고 싶은 커밋을 제외한 나머지를 제거해주면 됩니다.
5) git push origin feature/`브랜치 이름` -f
이후 git 에 push를 진행하면 되는데, git hub에 있는 history와 로컬 history가 다르기 때문에 git 서버는 업로드를 거부합니다. 하지만 우리는 history가 달라진 코드를 업로드 하려고 하는 것이기 때문에 평소 업로드하던 명령어에 -f 를 붙여 강제로 코드를 업로드 하게 해야 합니다.
여기까지 하고 나면 git rebase 이후 push까지 모두 끝나게 됩니다.
3. 마무리
오늘은 git 의 commit 메세지를 관리하는 rebase 명령어를 알아보았습니다. 이렇게 commit 메세지를 관리하면 본인 스스로도 작업을 관리하기 용이하고 다른 이가 보기에도 깔끔한 작업로그로 인해 내 코드에 대한 좋은 인상을 심어줄 수 있습니다. git rebase로 좀 더 깔끔한 코딩 라이프를 즐기실 수 있기를 기원해봅니다.
728x90'IT 지식' 카테고리의 다른 글
[TIL] Day 33. 비동기 처리와 콜백함수 (0) 2020.11.20 [TIL] Day 32. export default의 의미에 대해 (0) 2020.11.17 [what is?] git이 뭔가요? (0) 2020.11.15 [what is?] react hooks 가 뭔가요? (0) 2020.11.08 [TIL] Day 30. SVG 파일에 대해서 (0) 2020.11.08