본문 바로가기
TIL 기록/git_github

과거 커밋 수정, 삭제, 병합, 분할

by 지난_JINAN 2024. 1. 4.
Git / GitHub 강의 정리-20
과거 커밋 내역 수정하기

테스트할 커밋들

git rbase -i (대상 바로 이전 커밋) # 수정하고자 하는 커밋의 이전 커밋해시

ex) '횻홍'을 수정하기 위해서는 이전 커밋인 '주인공 필사기 ~ '의 커밋 해시 지정
git rebase -i (이전커밋) 실행, 이전 커밋부터 현재 커밋순으로 보여짐

pick에 원하는 명령어로 커밋 수정 가능

#Commands 아래에 명령어 설명 확인 가능

 

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

 

커밋 메시지 변경 ( r )

순서
1. git rebase -i ( 대상 바로 이전 커밋 )
2. i로 상호작용모드 시작
3. pick 부분 지우고 r(명령어) 입력
4. esc로 입력모드 종료
5. :wq로 저장 후 종료
5. 커밋 메시지 수정 단계 - '횻홍' 지우고 '버그 수정' 메시지 입력 후 :wq로 저장 후 종료
6. 소스트리에서 커밋 메시지 변경 확인

 

명령어 r 입력
명령어 입력 후 esc, :wq로 종료
커밋메시지 수정 화면
커밋메시지 변경
'횻홍'에서 '버그 수정'으로 커밋메시지 변경 확인

 

커밋 삭제 ( d ) ,  병합 ( s ) 동시에 진행하기

삭제 : '뻘짓' 커밋 삭제를 위해 '버그 수정' 커밋 선택 후 번호 복사
           d : 원하는 커밋 삭제
병합 : '결전의 찜질방 맵 추가 완료' 커밋을 '결전의 찜질방 맵 추가중'로 병합하기 
           s : 원하는 커밋을 이전 커밋에 합침
순서
1. git rebase -i ( 대상 바로 이전 커밋 )
2. i로상호작용모드 시작
3. 삭제하려는 커밋의 pick 부분 지우고 d(명령어) 입력
4. 병합하려는 커밋의 pick 부분 지우고 s(명령어) 입력
5. esc로 입력모드 종료
6. :wq로 저장 후 종료
7. 병합하려는 커밋 메시지 확인 (작업한 커밋 사항은 병합된 후 커밋메시지 수정단계)
8. 불필요한 커밋메시지 삭제 후 커밋메시지 수정 후 :wq
9. 소스트리에서 커밋 삭제 및 병합 확인
git rebase -i (변경하려는 커밋의 이전 커밋해시)

'뻘짓' 커밋 삭제 및 커밋 병합 전 확인
git rebase -i (커밋해시) 후 확인
수정하려는 커밋 d, s 입력 후 :wq로 저장 후 닫기
병합하려는 커밋 메시지 확인 (작업한 커밋 사항은 병합된 후 커밋메시지 수정단계)
불필요한 커밋메시지 삭제 후 커밋메시지 수정 후 :wq
커밋 삭제 및 병합 확인

 

커밋 내역 분할 (e : 수정을 위해 정지)

관련 없는 작업을 한번에 커밋 > 커밋 내역 분리

'캐릭터 글맨 추가, 시작메뉴 디자인 변경' 분리
git rebase -i (대상 바로 이전 커밋해시 )

'결전의 찜질방 맵 추가' 커밋 해시 복사
커밋내역 확인
분할하려는 대상 커밋 e 명령어 입력 후 :wq
git log로 현재 head 위치 확인 : 분할하려는 커밋위치에 있음
git reset HEAD^ 로 한 단계  앞 커밋으로 돌아간 후 status 확인 : 작업내용이 남아있는 것 확인

하나의 작업내역씩 커밋 진행하기 ( file-3 )

git add (작업파일명)
git commit -m (커밋 메시지)

'캐릭터 귤맨 추가' 커밋 후 확인

하나의 작업내역씩 커밋 진행하기 ( file-4 )

git add (작업파일명)
git commit -m (커밋 메시지)

'시작메뉴 디자인 변경' 커밋 후 확인

 

아직 리베이스 진행중이므로 리베이스 완료하기
git rebase --continue

커밋 분할 확인

 

* 왜 rebase인가?

git은 커밋 내역이 순차적으로 저장되기때문에 과거의 내역을 수정하기 위해서는

지정한 커밋 이후의 커밋을 전부 다시 작성하는 브랜치 생성 후

rebase로 브랜치를 붙이는 방식으로 과거의 커밋을 수정하는 것

 

 

강의 섹션 7. 프로답게 커밋 관리하기 ( 5 )
 

제대로 파는 Git & GitHub - by 얄코 - 인프런 | 강의

코알못도 따라올 수 있는 친절하고 쉬운 강좌! 현업 개발자는 Git 박사로 들어주는 끝판왕 강좌!, Git & Github, 얄코와 함께 제대로 판다!  ⭐️  대학교 이메일 계정이 있다면?🎓  대학생 반값쿠

www.inflearn.com

 

'TIL 기록 > git_github' 카테고리의 다른 글

커밋하지 않은 변경사항 되돌리기 git restore  (1) 2024.01.08
git clean  (1) 2024.01.05
커밋 수정하기  (0) 2024.01.03
git stash  (0) 2024.01.02
hunk  (0) 2023.12.29