반응형
git reset을 사용한 commit 되돌리기 방법으로, 팀 프로젝트 진행 시에는 사용을 지양해 주시길 바랍니다.
개인 프로젝트나 개인 공부를 할 때 사용하기에 적합한 방법입니다.
시간이 없으신 분들은 여기를 클릭해 주세요. 바로 정리 부분으로 이동합니다. :)
상황 구현
기존은 올바른 코드를 작성 한 후의 hello.md 파일입니다. 일반적인 방법으로 git commit과 push를 합니다.
hello.md
1. 첫 번째 커밋 올바른 코드...
git commit
$ git add .
$ git commit -m "첫 번째 commit: 올바른 코드"
$ git push origin main
1번째 커밋은 정상적으로 완료된 상태입니다. 이 상태에서 잘못 작성한 코드를 작성하고 git commit과 push를 합니다.
hello.md
1. 첫 번째 커밋 올바른 코드...
2. 두 번째 커밋 잘못 작성한 코드...
git commit
$ git add .
$ git commit -m "두 번째 commit: 잘못 작성한 코드"
$ git push origin main
git local과 remote에서는 2번째 commit이 완료된 상태인 걸 확인할 수 있습니다.
현재 상태
local -> 잘못 작성한 코드 반영 상태
github(remote) -> 잘못 작성한 코드 반영 상태
해결 방법
1. local에서 이전 commit으로 되돌리는 명령어입니다.
git reset --hard HEAD~1
git reset 명령어로 인하여 local의 파일이 변경된 상태임을 확인할 수 있습니다.
현재 상태
하지만 github에는 반영이 되지 않은 상태입니다. 이전 commit 내용으로 변경된 파일을 github에 반영해 주기 위해서는 git push가 아닌 git push -f (force) 명령어를 통해서 강제 push 해주어야 합니다.
local -> 올바른 코드 반영 상태 ( 첫번째 commit 상태 )
github(remote) -> 잘못 작성한 코드 반영 상태
2. github에 강제로 push하는 명령어입니다.
git push -f origin main
현재 상태
local -> 올바른 코드 반영 상태 ( 첫번째 commit 상태 )
github(remote) -> 올바른 코드 반영 상태 ( 첫번째 commit 상태 )
git push -f 명령어로 인하여 github에도 이전 commit으로 반영이 된 걸 확인할 수 있습니다.
정리
$ git reset --hard HEAD~1
$ git push -f origin main
반응형
'ETC > GitHub' 카테고리의 다른 글
[Git] 프로젝트 이름, 설명 변경 하는 방법(+사진) (1) | 2024.10.31 |
---|
댓글