티스토리 뷰
공부를 하다가 문득 커밋 메시지의 오타를 발견하였다.
이미 원격에 올린 상태였고, 이를 수정하는 방법에 대해 알아보았고 그에 대한 내용을 적으려고 한다.
커밋 메시지를 수정하는 방법은 크게 두 가지로 나뉠 수 있다. 하나는 로컬에만 있을 때와 이미 로컬에서 원격으로 올린 경우 두 가지로 나뉠 수 있다.
먼저 우리는 로컬에만 커밋이 있고 수정을 할 때의 방법을 알아보려 한다.
1. 로컬의 커밋 수정하기
1. 1) 가장 최근의 커밋을 수정하기
git commit --amend
위와 같이 amend를 이용하면 가장 마지막에 commit 한 내용을 수정할 수 있다.
1. 2) 중간의 커밋을 수정하기
git log
먼저 내가 수정할 커밋의 순번을 찾는다.
git rebase -i HEAD~2
필자는 커밋의 두번째를 수정하기 위해서 HEAD~뒤에 숫자 2를 넣어 실행하면 아래와 같은 화면이 뜨게 된다.
여기서 내용을 수정할 커밋에 reword라는 단어로 바꿔주고 커밋을 수정하여 저장을 한 후 닫아준다.
그럼 다시 git log를 보시면 내가 원하는 대로 수정이 된 것을 확인할 수 있다.
하지만 필자는 이미 해당 원격 브랜치에 올려둔 상태로 로컬과 원격의 커밋이 달른 것을 확인할 수 있다.
그래서 필자는 아래까지 해당 명령어를 추가하여 입력하려 한다.
2. 원격의 커밋까지 수정하기
git push --force
OR
git push --force 브랜치이름
git push --force 혹은 브랜치 이름까지 붙여서 해당하는 명령어를 실행한다.
그러면 원격에서도 이 커밋이 수정이 된 것을 확인할 수 있다.
하지만, 이 방법은 github 공식문서에서는 최대한 사용하지 않아야 한다고 한다. 실제 프로젝트에서는 이미 협업자들이 이 커밋을 가지고 있을 것이고, 이미 pull 받은 팀원은 이 로그를 수동으로 수정을 해줘야 하기 때문에 실제 프로젝트에서는 사용을 최대한 줄여야 한다.
그러니 커밋은 항상 확인 또 확인이 필요한 것이다.
알지 아는데 실수를 하네...
'ETC > Git' 카테고리의 다른 글
git tag : 깃허브에서 버전관리하기 (0) | 2022.12.24 |
---|---|
Git remote에 대한 명령어 정리 (0) | 2022.10.01 |
JNarin's Github Document (0) | 2022.02.19 |
JNarin's Git Document (0) | 2022.02.05 |
GIT SSH 공개키 생성 및 등록하는 방법 (0) | 2021.11.20 |
- Total
- Today
- Yesterday
- node.js
- 자바
- mongodb
- redux
- 리덕스
- Git
- 리액트
- java
- react
- 리액트 썸네일
- 리액트 유튜브
- 함수
- node-sass
- javascript
- CSS
- programmers
- 노드
- 배열
- 프로그래머스
- 자바스크립트
- array
- 파이썬
- github
- 뷰
- node
- Visual Studio Code
- Switch
- 코딩테스트
- 재공부
- Coding Test
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |