본문 바로가기

I_TStory/GIT

[Github 사용법 A to Z] 리셋: 커밋 취소, 리버트: 커밋 되돌리기

reset은 커밋한 기록 자체가 남지 않기 때문에 복구 불가능 (Hard?)

revert 명령어의 사용을 권장함

 

https://www.devpools.kr/2017/01/31/%EA%B0%9C%EB%B0%9C%EB%B0%94%EB%B3%B4%EB%93%A4-1%ED%99%94-git-back-to-the-future/

 

개발바보들 1화 - git "Back to the Future"

  이 내용에 대한 자세한 기술적인 설명이 듣고 싶나요? 연속되는 다음글을 참조하세요    

www.devpools.kr

 

- 되돌려야 할 commit이 local 에만 존재할 경우 - reset

reset 명령어는 해당 커밋을 삭제, 커밋 기록을 변경하는 작업이다. 

협업 하는 branch 에 reset 할 경우 팀원이 push 할때 충돌이 발생하게 된다. 

 

- 되돌려야 할 commit이 push 된 경우 - revert

revert 명령어는 해당 commit 을 취소하고 취소 commit 을 새로 남긴다. 

커밋의 기록을 덮어쓰지 않기 때문에, 협업을 할 경우 해당 명령어를 사용하여 되돌리는것이 좋은 전략이다. 

 

로컬 저장소에서 reset 한 것을 원격 저장소에는 반영되지 않을때 (push 하면 reject 될때)
: —force 로 해결