[Git, Github] 기존의 commit 수정하기

JUNHO YEOM·2022년 11월 30일
0

Git, Github

목록 보기
17/27
post-thumbnail
post-custom-banner

기존의 커밋 수정하기

기존의 commit message가 commit 내용에 적절하지 않거나,
다른 내용으로 commit message를 수정해야 할 때 사용할 수 있습니다.


나쁜 commit message 만들기

1. 코드 수정하기

임의의 파일에 "git commit --ammend 사용해보기" 라는 내용을 작성하고 저장합니다.

2. 코드 commit하기

git commit -am "my mistake"

커밋 메시지 변경하기

git commit --amend

해당 명령어를 사용하면 Vim으로 commit message를 수정하는 에디터가 열립니다.
해당 공간에 기존의 commit message 내용을 삭제하고 수정된 commit message를 적습니다.


커밋에 변화 추가하기

git commit --amend

이전 commit에 추가로 변경사항을 담고 싶을때도 사용할 수 있습니다.
git add .를 사용하여 코드의 변경사항을 stagingn area에 넣어줍니다.
이후, git commit --amend를 사용하여 다시 commit을 실행해 줍니다.
마지막 commit에 원하던 변경사항이 추가 되었습니다.


커밋 메시지 한 줄로 변경

git commit --amend -m "수정되는 commit message내용"

commit -m "메시지 내용"과 같이 --amend를 적용할 때 message도 적용할 수 있는 설정입니다.


과거의 커밋을 수정, 삭제, 병합, 분할하기

git rebase -i (대상 바로 이전 커밋 해시)

과거 커밋 내역을 다양한 방법으로 수정 합니다.
깃은 모든 commit 내용들이 순차적으로 저장됩니다.
깃에서 과거에 어떤 내용을 수정하기 위해서는 이전 커밋부터 다음까지 새로운 브랜치를 전부 수정한 다음
이후 commit을 통채로 모두 대체하기 때문에 rebase를 사용합니다.


git rebase -i 진입후 수정 명령어

명령어설명
p, pick커밋 그대로 두기
r, reword커밋 메시지 변경
e, edit수정을 위해 정지
d, drop커밋 삭제
s, squash이전 커밋에 합치기

edit

edit을 하게 되면 두개가 commit된 상태로 되돌아 갑니다.
git에 저장된 파일은 그대로 두고 commit전으로 되돌리기 위해서
git reset HEAD^명령어로 reset시킵니다.
변경할 파일의 내용들은 남아있고 commit되기 전 상태입니다.
이후, 개별 commit또는 원하는 edit을 완료한 후에
원하는 부분만 나누어 commit 할 때는 별도로 add .,commit하고,
git rebase --continue 명령어를 이용하여 rebase를 마무리 합니다.

post-custom-banner

0개의 댓글