git rebase
git rebase는 활용할 수 있는 부분이 정말 많이 있지만 이번에는 commit 메시지를 수정함에 있어서 git rebase를 활용하는 것을 보도록 하겠다. 다음과 같이 본인이 관리하고 있던 프로젝트의 commit log에서 다음과 같이 commit 메시지를 잘못 적어서 수정이 필요한 상황이라고 가정해보자.
기록된 commit의 내역, 가장 최근에 commit한 버전이 1.2 버전이어야 하는데 메시지를 잘못 기입하여 1.3으로 기입되었고 commit 메시지의 기입이 변화된 내용에 대한 기술이 없어 어떠한 점이 변경되었는 지를 알수 없는 상황으로 commit message 수정이 필요한 상황이다. rebase 명령을 활용하기 위해서 명령어를 아래와 같이 입력해야 한다.
git rebase -i --root
위의 상황에서 다음의 명령어를 입력하면 아래와 같이 vim 에디터가 열리게 되면서 타이핑을 할 수 있게된다.
(해당 명령 입력 시 vim이 아닌 nano editor로 열릴 수 있는 데 이것은 git의 기본 에디터 설정이 달라서 그런 것이다. git에서 사용하는 기본에디터를 vim으로 설정하는 방법에 대해서는 이글의 마지막에서 간단하게 다루는 것으로 하겠다.)
내용을 자세히 보면 자신이 수행했던 각각의 commit 이력 옆에 pick이라는 문자가 있는 것을 확인할 수 있다. 여기서 commit 메시지를 변경하고자 희망하는 commit의 앞 문자를 다음과 같이 reword로 다시 타이핑해준다.
그 후 이를 저장해주면 다음과 같이 vim 에디터가 열린다.
이제 이곳에서 다시 commit message를 다시 입력해서 변경하는 것이 가능한데 처음의 목적처럼 commit message를 변경해보겠다.
다음과 같이 버전 수도 올바르게 바꿔주고 기존 버전에 비해서 어떤 점들이 달라졌는 지를 간략하게 기록하였다. 이제 저장해주면 아래과 같이 rebase 가 성공적으로 수행되다는 메시지를 볼 수 있다.
그렇다면 정상적으로 수정이 되었는 지 git log를 이용해서 확인해보자. 아래과 같이 commit의 commit 메시지변경을 rebase를 이용하여 성공적으로 수행한 것을 확인할 수 있다.
이전과 동일한 방식을 적용해서 나머지 commit들도 commit 메시지 변경하면 아래와 같이 이전의 의도대로 commit message들을 수정할 수 있다.
부가적으로 git rebase -i --root를 입력해서 나오는 에디터 창에서 다음과 같이 한 번에 여러개의 commit 기록에 reword를 입력해서 반복과정을 간소화 할수 있다. 이렇게 입력해주면 ver 1.0에 대한 commit 기록을 변경하고 저장하면 동일하게 ver 1.1 에 대한 에디터가 열리면서 수정할 수 있게된다. 한번에 수정하고 싶은 commit message가 여러 개인 경우 이렇게 수행해주면 된다.
부가적으로 알아두기 - git의 기본에디터 vim으로 변경하기
이는 다음 명령어 한 줄로 간단히 변경할 수 있다.
git config --global core.editor "Vim"
이 명령어를 입력해주면 위와 같은 실습을 진행하면서 등장하는 에디터가 nano 에디터가 아닌 vim으로 작업할 수 있게된다.
'Tools > Git, Github' 카테고리의 다른 글
Github Page란? (0) | 2021.01.22 |
---|---|
github을 이용한 협업상황에서의 질문 (0) | 2021.01.21 |
git revert, reset (0) | 2021.01.19 |
Git 실습 시나리오 따라해보기(3) (0) | 2021.01.18 |
Git 실습 시나리오 따라해보기(2) (0) | 2021.01.18 |
댓글
이 글 공유하기
다른 글
-
Github Page란?
Github Page란?
2021.01.22 -
github을 이용한 협업상황에서의 질문
github을 이용한 협업상황에서의 질문
2021.01.21 -
git revert, reset
git revert, reset
2021.01.19 -
Git 실습 시나리오 따라해보기(3)
Git 실습 시나리오 따라해보기(3)
2021.01.18