[Git] reset 간단히 알아보기

Git · 2023. 3. 26. 14:19
반응형

git reset 명령어는 이전에 커밋한 내용을 되돌릴 수 있는(삭제) 기능입니다.

 

 사실 reset보단 revert를 사용하는 것이 안전성 면에서 더 좋습니다. reset은 강제로 push하기 때문에 협업 진행 시 충돌이 많이 일어나기 때문입니다.

 

 그러나 만약 API KEY가 commit 이력에 남아있다고 가졍하면 reset을 사용하는 것도 좋은 방법입니다. revert는 커밋 내용을 삭제하지 않고 commit을 추가하기 때문에 history에 남아있는 반면, reset은 아예 삭제해 버리기 때문에 이와 같은 상황이라면 고려해 볼 만한 사항입니다.

 

 reset 사용법을 간단히 알아보겠습니다.

 

 다음과 같이 3개의 커밋이 있다고 봅시다.

 

저는 저기서 "second commit" 으로 돌아가고 싶습니다. 그럼 다음과 같이 reset을 사용하시면 됩니다.

 

// git reset <commit_ID> or git reset HEAD (이전 커밋)
// git reset --hard <commit_ID> (변경 전 코드 삭제까지 원하면)
$ git reset 8c9d4c6a91bd230d7ec8fae39d2d1f810ef34a4b
$ git push -f origin master
 commit_ID에 되돌아가고 싶은 commit_ID를 넣어주고, 저장소에 -f 옵션을 줘서 강제로 push하면 다음과 같이 정상적으로 commit 내역이 삭제되어 있습니다.
 

 

다음엔 revert에 대해서 알아보겠습니다.

 

감사합니다.

반응형