git 사용하다가 마주치는 실수들.
git을 사용하다 보면 가끔씩 너무 급하게 stage에 올려버리거나 commit을 했는데 commit의 내용을 변경하거나 commit message 변경을 하고 싶은 경우가 있죠? 이럴 때 손쉽게 되돌리는 방법 정리해보겠습니다.
stage에 실수로 올렸을 때
vim에서 fugitive를 사용하는 경우에 git의 상태를 보려면 :G 명령어로 보는데요, 가끔 손이 저절로 움직여서 아직 stage에 올리고 싶지 않은 파일을 다 올려버리는 경우가 있습니다. 아니면 git add . 명령을 습관처럼 입력한다든지...
이런 경우죠....
실수로 원하지 않는 stage 상태를 만든 경우에는 아래와 같은 명령어로 수정할 수 있습니다.
이렇게 취소를 하면 다시 untracked로 돌아가 있는 걸 확인할 수 있습니다.
commit message를 수정하고 싶을 때
commit은 수정하고 싶은 경우가 주로 2가지 경우인데요, commit 하고 싶지 않은 파일을 포함해버려서 취소하고 싶을 때와 commit message를 제대로 적지 않아서 수정하고 싶은 경우일 거라고 생각합니다.
commit message를 수정하고 싶은 경우는 간단합니다. 아래 사진을 보면 this is second commit이라고 적고 싶었는데 실수를 했습니다.
이걸 commit message를 수정하려면 아래의 명령어를 입력하고 enter!
git commit --amend
그럼 이렇게 수정하는 화면이 나오고, 여기서 commit message를 원하는 대로 수정하고 저장하고 나가면 바로 commit message에 적용이 됩니다.
git log 명령어로 변경된 commit message를 확인할 수 있고 확인 결과 잘 수정이 되어 있습니다.
그럼 요번엔 바로 직전 commit이 아닌 더 오래된 commit의 message를 수정해보겠습니다.
현재 commit 하나를 추가하여 third commit인 상태인데 여기서 second commit message 이걸 수정해보겠습니다.
아래의 명령어를 입력합니다.
git rebase -i HEAD~~
변경하고 싶은 commit의 pick을 edit로 바꾸고 저장, 종료합니다.
pick을 edit로 바꾸고 나오면 아래와 같은 화면을 보게 됩니다.
git commit --amend 명령어로 commit message 수정하는 화면으로 들어갑니다.
들어가서 전에 했던 방식으로 commit message를 수정, 저장, 종료합니다.
이제 다음 명령어 commit message 변경을 완료합니다.
git rebase --continue
git log를 통해서 변경이 완료된 걸 알 수 있습니다.
rebase는 merge와 같이 병합할 때 쓰는 걸로 알고 있었는데 이렇게 commit message 바꾸는 방법으로도 사용할 수 있었습니다.
정리
git stage에 올린 거를 취소하고 싶으면
git reset {file_name} // file 하나 취소
git reset // stage전체 취소
git reset HEAD {file_name} //file 하나 취소
git reset HEAD // stage 전체 취소
git 바로 직전 commit message 수정
git commit --amend
git 좀 더 오래된 commit message 수정
git rebase -i HEAD ~~
pick -> edit로 수정 후 저장, 종료
git commit --amend
git rebase --continue
stage에 올리는 명령어
git add {file_name}
git add .
commit message와 commit 하는 명령어
git commit -m "commit message"
요번 포스트는 여기서 마무리하겠습니다.
공감 눌러주시면 안 그래도 행복한 하루가 더 행복한 하루가 됩니다!
구독하기 눌러주시면 제 글이 발행되면 더 빨리 보실 보실 수 있어요~!
그럼 오늘도 감사합니다!
By 정글탐험
<이런 글들은 어떠신가요?>
2021/01/19 - [리뷰] - vim 에디터 기본적인 리뷰
vim 에디터 기본적인 리뷰
vim 오늘은 text editor들 중에 vim이라는 에디터를 리뷰해보고 관심 있는 분들은 사용해 보시길 바라며 기본적인 vim screencast를 첨부하겠습니다. 텍스트 기반의 텍스트 에디터로 마우스 없이 키보드
infinity-challenge.tistory.com
2021/01/20 - [리뷰] - 해피해킹 프로 하이브리드 개발자 키보드 끝판왕
해피해킹 프로 하이브리드 개발자 키보드 끝판왕
해피해킹 Happy Hacking Keyborad 오늘은 개발자 키보드로 잘 알려진 해피해킹 키보드에 대해서 리뷰글을 간단하게 써보려 합니다. 물론 개발자가 아닌 분들도 글을 많이 써야 하는 분들이라면 해피해
infinity-challenge.tistory.com
'IT knowledge' 카테고리의 다른 글
vim-fugitive git을 vim과 편하게 쓰고 싶다면 (2) | 2021.02.05 |
---|---|
git commit 내역을 조회하기(git log) (2) | 2021.01.26 |
아이폰 단축어앱으로 아이폰 자동화 하기 (3) | 2021.01.25 |
git merge (병합)에 대한 기초. (8) | 2021.01.24 |
git local repository와 remote repository 연결하기 (11) | 2021.01.23 |