git을 사용하다보면 에러가 발생하여 이전 버전으로 commit 해야 할 경우가 생긴다.
이럴 경우에는 git reset 을 통해서 이전 버전으로 넘긴다.
위와 같은 커밋이 있다고 가정하자.
타인과의 작업이 발생하면서 commit 557cf31 부터 문제가 발생했다.
이 때, 나는 ff32f4d로 돌아가고 싶다.
완벽하게 모든 파일을 돌리고 싶기 때문에 --hard 조건을 넣어준다.
자세한 reset 에 대한 설명은 아래의 링크를 참조한다.
http://www.devpools.kr/2017/02/05/%EC%B4%88%EB%B3%B4%EC%9A%A9-git-%EB%90%98%EB%8F%8C%EB%A6%AC%EA%B8%B0-reset-revert/완성되면 아래와 같이 HEAD ... 와 같은 내용이 나온다.
$ git reset --hard ff32f4d
HEAD is now at ff32f4d 180602
현재 로컬 디렉토리에는 이전 상태로 돌아갔지만 서버는 아직 그대로이다.
이럴 경우에는 브랜치 앞에 +를 붙여서 강제로 push 해주면 해결된다!!
git push origin +master