본문 바로가기
카테고리 없음

Git - 원격 저장소 Commit 되돌리기

by 둥둥동동# 2022. 7. 2.
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

댓글