Git에서 이전 커밋으로 되돌리는 방법이 궁금합니다.

안녕하세요. 작업을 하다가 실수를 해서 이전 커밋 상태로 되돌리고 싶은데요. git reset, git revert, git checkout 등 여러 가지 방법이 있는 것 같아서 헷갈립니다. 각각 어떤 차이가 있고, 상황에 따라 어떤 방법을 선택하는 게 좋을까요?

2개의 답변이 있어요!

  • 1. git reset: 특정 커밋으로 되돌리고 이후 변경 사항을 삭제합니다.

    2.git revert: 지정된 커밋을 취소하는 새로운 커밋을 생성합니다. 기록을 유지해야 할 때 사용합니다.

    3.git checkout: 특정 브랜치나 커밋으로 이동하는 명령이었으나, 최신 Git에서는 git switch(브랜치 변경)와 git restore(파일 복구)로 분리되었습니다.

    기록을 유지하면서 되돌리려면 git revert, 완전히 롤백하려면 git reset --hard가 적절합니다.

  • 깃으로 되돌리는방법이 여러가지가 있는데 일단 쉽게 설명드리자면

    가장 많이쓰는게 git reset인데 이건마치 타임머신처럼 이전커밋으로 돌아가는거죠.

    reset에도 종류가 있어서 --soft는 변경된 파일은 그대로 두고

    --hard는 파일까지 모조리 이전 상태로 되돌리는거에요

    근데 이미 다른 사람이랑 같이 작업하는 브랜치면 reset은 좀 위험할 수 있어요

    그럴땐 git revert를 쓰는게 좋은데 이건 되돌리는 내용을 새로운 커밋으로 만드는거구요

    git checkout은 특정 파일만 이전 버전으로 되돌리고 싶을 때 쓰면 좋답니다

    혼자 작업하는 브랜치면 reset --hard가 깔끔하게 돌아갈 수 있어서 편한데

    협업중이면 revert가 더 안전하죠

    실수로 reset했다가 동료분들 작업이 날아가면 큰일나니까

    협업할땐 꼭 revert 쓰시는게 좋아요

    제가 실제로도 실수로 reset했다가 동료분한테 혼난적이 있어서

    이런 팁들을 알려드리는거랍니다

    그리고 되돌리기 전에 git log로 커밋 히스토리 한번 확인하고

    신중하게 선택하시는게 좋을거에요..!