Programming/Git

[Git] 원격 저장소까지 반영된 commit 되돌리기(Git Reset)

728x90

 

 

remote 저장소까지 반영된 commit을 되돌릴 때에는 기록이 남도록 Revert하는 것이 맞지만?

흔적도 없이,,,,commit을 없애버리고 싶을 때,,,쓰는 방법을 기록해둡니다

 

 

 

원격 저장소에 반영된 Commit 되돌리는 방법

 

0. 되돌릴 commit 확인

아래 명령어로 몇 개의 commit을 되돌릴 건지 확인합니다

git log

git log

 

"I wanna remove this Commit" commit이 아래 사진에서처럼 원격 저장소까지 반영되었음을 확인할 수 있습니다 🤣

원격 저장소

 

 

1. git reset

되돌릴 commit 수만큼 다음 명령어를 실행합니다

git reset HEAD~{되돌릴 commit 수}

 

git reset

명령어 실행 후, log를 확인해보면 해당 commit이 삭제된 것을 확인할 수 있습니다

 

 

🔎 Reset 할 때 변경사항 남기지 않기

위에서는 Unstaged changes after reset 파일로 인해 reset을 실행했음에도 변경사항은 로컬에 남아있습니다

reset 이후에 파일 변경사항을 남기고 싶지 않다면 다음처럼 hard 옵션을 사용하면 됩니다

git reset HEAD~{되돌릴 commit 수} --hard

 

 

 

 

2. 원격 저장소에 push

 

다음 사진처럼 그냥 push 하려고 하면 reject 됩니다 😞

 

 

강제로 변경사항을 push하기 위해 옵션을 추가하여 다음 명령어를 실행합니다

git push -f origin master

 

🌟 원격 저장소에 반영 성공 🌟

 

 

 

 

 

 

 


References

📌 원격 저장소에 올라간 커밋 되돌리기

 

 

 

 

 

 

728x90