728x90
원격 저장소 Commit 되돌리기
Git을 사용하다가 Commit에 잘못된 내용이 포함되어 있는 경우 뒤로 돌아가고 싶은 경우가 있습니다
원격저장소에(Git Hub 등) push이전, 즉 로컬에만 저장된 경우 $git reset을 통해 간단히 Commit을 되돌릴 수 있습니다
하지만 원격저장소에 push된 후 라면 주의가 필요합니다
강제PUSH
-주의사항
이 방법은 원격 저장소에 잘못 저장된 commit을 흔적도 없이 되돌릴 수 있습니다
혹시라도 팀원이 해당 commit을 이미 pull했을 경우 팀원의 로컬 저장소에 지우고자 한 내용이 저장되어 있을 것입니다
이 사실을 모르는 팀원은 자신이 작성한 내용과 함께 내가 되돌렸던 내용들이 다시 push되어 저장될 것입니다
따라서 브랜치를 나 혼자 사용하거나 팀원들이 pull로 땡겨가지 않은것이 확인된 경우에만 사용하길 권장합니다
-방법
1.로컬에서 reset명령어등을 이용해 원하는 시점으로 브랜치를 되돌립니다
git reset --hard HEAD^
push를 하면 아래와 같은 에러가 발생합니다
로컬 저장소의 커밋 히스토리가 원격저장소의 커밋 히스토리보다 뒤쳐져 있는 상태에서 Push할 때 발생하는 에러입니다
하지만 우리는 원격 저장소의 히스토리를 로컬의 히스토리로 덮어씌워야 하는 상황입니다
2. -f 또는 -force 옵션을 추가해 원격 저장소의 커밋 히스토리를 강제로 덮어씌웁니다
git push -f origin master
git revert
728x90
댓글