원격 저장소에 push한 commit들을 이전 상태로 되돌리고 싶을 때가 있을 것이다!
로컬 저장소에서 삭제하고 커밋 히스토리를 원격 저장소에 강제로 push!
1. Commit history 확인
Git Bash 혹은 iTerm, 터미널 등등 중 아무거나 하나 열고
>> git log
위 명령어가 git commit 기록들을 보여준다.
Q 또는 q 를 누르면 내역에서 나가진다!
2. 커밋 내역 삭제
>> git reset HEAD~숫자 ~숫자에 '~1' 혹은 '~2' 같이 넣으면 그만큼 지우겠다는 의미. >> git log 내가 삭제하려는 커밋이 삭제되었는지 확인!
위 같이 하면 커밋 삭제 완료!
3. 원격 저장소에 커밋 내역 push
>> git push -f origin [브랜치 이름] git branch 를 사용하면 현재 브랜치 확인 가능.
- commit history를 강제로 push하기 때문에 -f 또는 --force 명령어를 붙여줘야 한다.
- 원격 저장소에서 삭제되기 전에 다른 사람이 해당 브랜치의 커밋을 누군가 pull request했다면, pull한 사람의 로컬 저장소에는 적용이 안된다. 즉, 꼬일 수 있음.. 때문에 소통이 필요! 혹은 혼자 작업할 때 편한 방식.
도움이 많이 됐습니다!