Github & 시스템설정

github에 올린 commit 되돌리는법.

jojelly 2021. 3. 28. 15:30
반응형

깃헙 원격 저장소에 커밋을 push했는데, 이후에 해당 커밋을 원격 저장소에서 삭제하려고 한다.
Github에 커밋을 올리기 전과 완전히 동일한 상태로 되돌려 놓는것이 목표.

 

1. 로컬에서 내가 되돌리고 싶은 커밋으로 되돌린다.  ex.( HEAD~1는 최신 커밋 1개, HEAD~2는 최신 커밋 2개)

 

git reset --hard HEAD~1 

 

2. force push로 깃허브에 강제로 push한다.

 

git push -f origin master

 

 

원격 저장소의 커밋보다 뒤쳐진 과거 로컬 저장소의 커밋 히스토리를 푸쉬하게 되는것이기 때문에 그냥 git push origin master을 하면 에러가 발생한다.

이를 강제로 덮어씌워야 하므로 강제를 의미하는 -f 또는 --force를 명령어에 추가해야 한다.

 

 

 

**(만약 같이 작업하는 사람이 이전 커밋을 pull로 땡겨갔다면 그 사람의 로컬 저장소에는 내가 삭제한 커밋이 남아있다.

삭제된걸 모르는 상태에서 내가 삭제한 커밋에 그 사람이 새로 작업한 커밋들을 추가해서 함께 push를 하게된다면, 내가 삭제했던 커밋까지 다시 원격 저장소에 올라오게 된다.)**

그러므로 혼자 작업할때 사용할때만 사용하는 것이 좋을것이다. 

반응형