작업 tools/git

특정 커밋 되돌리기

yztech 2025. 1. 16. 03:22
반응형

Git에서 특정 커밋만 되돌리는 방법은 git revert 명령어를 사용하면 됩니다. 이 방법은 되돌리고 싶은 커밋의 변경 사항을 무효화하는 새로운 커밋을 생성하므로, 기존의 Git 기록은 유지되고, 협업 중인 동료들에게도 변경 사항이 명확히 전달됩니다.

방법 1: 특정 커밋 되돌리기 (Revert)

  1. 커밋 로그 확인예:
  2. a1b2c3d Fix bug in login logic f4e5d6c Add new feature 789abcd Update README
  3. git log --oneline
  4. 되돌리고 싶은 커밋의 해시 값 확인
    위 로그에서 되돌리고 싶은 커밋의 해시 값을 복사합니다. 예: f4e5d6c.
  5. git revert 명령 실행예:이 명령은 해당 커밋의 변경 사항을 되돌리는 새로운 커밋을 생성합니다.
  6. git revert f4e5d6c
  7. git revert <커밋 해시>
  8. 수정 사항 확인 후 커밋 완료
    • Git이 자동으로 커밋 메시지를 생성합니다.
    • 편집기를 통해 커밋 메시지를 수정하거나, 그대로 저장 후 종료하면 됩니다.

방법 2: 여러 커밋 되돌리기

여러 커밋을 한 번에 되돌리고 싶다면, 여러 해시를 git revert에 순차적으로 적용할 수 있습니다.
예:

git revert <커밋 해시1> <커밋 해시2> ...

방법 3: 특정 파일의 변경만 되돌리기

  1. 특정 커밋에서 특정 파일의 변경만 되돌리려면:예:
  2. git checkout f4e5d6c -- src/main.js
  3. git checkout <커밋 해시> -- <파일 경로>
  4. 되돌린 파일을 스테이징하고 커밋합니다.
  5. git add src/main.js git commit -m "Revert changes from f4e5d6c for src/main.js"

주의사항

  • git revert는 되돌린 내용을 새로운 커밋으로 추가하기 때문에, 협업 환경에서 변경 사항이 명확히 보이는 장점이 있습니다.
  • 원격 저장소에 이미 푸시된 커밋을 되돌릴 때는 git reset 대신 git revert를 사용하는 것이 안전합니다.
반응형