커밋 해시값 확인하는 방법
(1) 터미널에 git log 입력
git log
(2) commit 다음에 나온 해시값 복사!
reset
- 로컬에서 커밋을 되돌리고, 히스토리를 변경합니다.
사용법
1. git reset --soft <commit> : 커밋만 되돌리고, 변경 사항은 스테이징 상태로 남깁니다.
git reset --soft HEAD~1 # 이전 커밋으로 되돌리되, 변경 사항은 스테이징 영역에 남깁니다.
2. git reset --mixed <commit> (기본값) : 커밋을 되돌리고, 변경 사항은 스테이징에서 제거하지만 작업 디렉토리에는 남깁니다.
git reset --mixed HEAD~1 # 이전 커밋으로 되돌리고, 변경 사항은 스테이징에서 제거됩니다.
3. git reset --hard <commit> : 커밋, 스테이징, 작업 디렉토리 모두 되돌립니다.
git reset --hard HEAD~1 # 이전 커밋으로 되돌리고, 모든 변경 사항을 삭제합니다.
revert
- 로컬에서 새로운 커밋을 만들어서 되돌리며, 히스토리를 변경하지 않습니다.
사용법
1. git revert <commit> : 특정 커밋을 되돌린 후, 새로운 커밋을 만듭니다.
git revert HEAD~1 # 이전 커밋을 되돌리고, 되돌린 내용을 반영한 새로운 커밋을 만듭니다.
reset VS revert
기능 | git reset | git revert |
목적 | 로컬에서 커밋을 되돌려 히스토리를 수정함 | 기존 커밋을 되돌리되 새로운 커밋을 추가하여 수정 |
히스토리 수정 | 커밋 히스토리를 변경하며, 삭제 가능 | 커밋 히스토리를 변경하지 않고 새로운 커밋 추가 |
사용 환경 | 주로 로컬 작업에서 사용 | 팀 프로젝트 등, 공개된 히스토리에서 사용 가능 |
안전성 | 히스토리 변경으로 다른 사람과 충돌할 수 있음 | 히스토리를 깨지 않으므로 안전하게 사용 가능 |
영향 | 커밋을 삭제하거나 되돌리므로 이전 작업을 되돌릴 수 있음 | 되돌린 커밋을 반영한 새로운 커밋이 생성됨 |
출처
OpenAI의 ChatGPT (https://openai.com)
반응형
'Stack > Git' 카테고리의 다른 글
[Git] Commit Message (0) | 2025.01.25 |
---|---|
[Git] Git workflow 브랜치 전략 (1) | 2025.01.24 |
GitHub (1) | 2025.01.21 |
Let's Git it! (0) | 2025.01.19 |
[Git] 맥 GitHub Repository 연결하기 feat. InteliJ (0) | 2024.12.10 |