이 명령을 사용하면 자신의 local의 내용을 remote에 강제로 덮어쓰기를 하는 것이기 때문에 주의해야 한다.
되돌아간 commit 이후의 모든 commit 정보가 사라지기 때문에 주의해야 한다. 특히, 협업 프로젝트에서는 동기화 문제가 발생할 수 있으므로 팀원과 상의 후 진행하는 것이 좋다.
- 가장 최근의 commit을 취소한다. $ git reset HEAD^ // 가장 최근의 commit을 취소 (기본 옵션: --mixed)
- 원하는 시점으로 워킹 디렉터리를 되돌린다. // Reflog(브랜치와 HEAD가 지난 몇 달 동안에 가리켰었던 커밋) 목록 확인 $ git reflog 또는 $ git log -g
// 원하는 시점으로 워킹 디렉터리를 되돌린다. $ git reset HEAD@{number} 또는 $ git reset [commit id] 3. 되돌려진 상태에서 다시 commit 한다. $ git commit -m "Write commit messages" 4. 원격 저장소에 강제로 push 한다. $ git push -f origin [branch name]