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
'Develop' 카테고리의 다른 글
현대 JavaScript 마스터하기: ES6+와 함수형 프로그래밍의 완벽 가이드 (1) | 2025.03.26 |
---|---|
PostgreSQL 윈도우 함수: 복잡한 분석을 간단하게 해결하는 강력한 기능 (2) | 2025.03.20 |
[JavaScript] 숫자 콤마 표현할 때 소수점 표시하는 방법 (0) | 2025.03.20 |
[JavaScript] 소수점과 정수를 연산 했을 때 소수점으로 결과 출력 (0) | 2025.03.20 |
[JavaScript] 선택적 체이닝(Optional Chaining) 연산자: 코드를 더 안전하고 간결하게 만드는 방법 (1) | 2025.03.19 |