Develop

GitLab에서 커밋 취소하는 방법: 완벽 가이드 🔥

issuemaker99 2025. 4. 3. 16:05
728x90

개발하다 보면 실수로 잘못된 내용을 커밋할 때가 있습니다. "아, 이거 커밋하면 안 됐는데!" 😱 걱정 마세요. GitLab에서 이미 커밋한 내용을 취소하는 방법은 여러 가지가 있습니다. 상황에 따라 가장 적절한 방법을 선택하세요!


✅ 1. 가장 최근 커밋을 로컬에서만 취소하는 방법

(git reset --soft HEAD~1)

 GitLab에 push하기 전에 커밋을 취소하려면?

 git reset --soft HEAD~1

이렇게 하면 최근 커밋이 삭제되지만, 변경된 파일은 그대로 유지됩니다. 즉, 커밋만 취소되고 파일은 남아 있으므로 다시 수정 후 커밋하면 됩니다!

📌 스테이징까지 취소하고 싶다면?

 git reset HEAD~1

이 명령어를 사용하면 스테이징된 파일도 취소되지만, 코드 변경 내용은 그대로 남아 있습니다.


✅ 2. GitLab에 push한 후 강제로 커밋 취소하기

(git reset --hard HEAD~1 && git push --force)

 GitLab에 push한 후에도 되돌릴 수 있을까?

 git reset --hard HEAD~1
 git push --force

💡 주의할 점!

  • 이 방법은 로컬과 원격(GitLab)에서 커밋을 완전히 삭제합니다.
  • 협업 중인 경우, 다른 팀원이 이미 해당 커밋을 pull 받았다면 문제가 생길 수 있습니다! (강제 푸시는 신중히 사용하세요!)
  • 안전한 방법을 원한다면 git revert를 추천합니다. 👇

✅ 3. GitLab에서 커밋을 안전하게 되돌리는 방법

(git revert HEAD)

 팀 프로젝트에서는 git revert가 가장 안전한 방법입니다.

 git revert HEAD
 git push

이렇게 하면 기존 커밋을 취소하는 새로운 "되돌리기 커밋"이 생성됩니다. 즉, Git 기록을 유지하면서도 안전하게 변경 사항을 취소할 수 있습니다.


🔥 상황별 커밋 취소 방법 정리

상황사용 명령어주의할 점

Push 전에 커밋만 취소 git reset --soft HEAD~1 변경된 파일은 그대로 유지
Push 후 강제 취소 git reset --hard HEAD~1 && git push --force 팀 프로젝트에서는 충돌 위험 있음 ⚠️
Push 후 안전하게 되돌리기 git revert HEAD && git push 기존 커밋 기록을 유지하면서 취소 ✅

 

LIST