Git 이전 커밋으로 되돌리는 방법
1. Git에서 수정했던 파일을 git add를 하여 staging area에 올렸을 때, 다시 이전 커밋으로 되돌리는 방법은 아래의 명령어를 실행하면 된다.
git reset
위의 명령어의 경우, 커밋까지는 반영되는게 아닌 커밋
git reset 종류
1. git reset --soft
워킹 디렉토리와 staging area에는 수정사항은 그대로 유지되는데, 커밋한 내용만 reset 시킨다.
2. git reset --hard
워킹 디렉토리와 staging area, 커밋에 있는 모든 수정사항들을 다 reset 시킨다.
3. git reset --mixed
워킹 디렉토리에 있는 수정사항만 그대로 유지시키고, staging area와 커밋을 다 reset 시킨다.
git reset 명령어를 사용할 때 옵션을 붙이지 않으면 디폴트로 --mixed 옵션으로 reset이 작동한다.
git reset 주의사항
git reset을 할 경우에는 다른 사람과 협업 시 조심해야 한다.
같은 브랜치에서 다른 사람과 작업을 하고 있을 때, abcde라는 내용을 git push를 통해 원격 레포지토리까지 반영이 된 상태에 git reset을 할 경우에는 문제가 생기지 않는다.
근데, git reset을 한 후에 다시 git push --force를 통해 원격 레포지토리까지 반영이 됐다면 다른 사람이 pull을 당길 때 충돌날 수 있으므로 이 방법은 지양을 하거나 이야기를 하면서 반영을 해야 한다.
git reset을 다른 사람과 협업을 할 때 지양하는 것도 중요하지만, git push --force를 사용할 때는 정말 신중히 해야 한다.
이 문제를 겪지 않으려면 그냥 개인 브랜치를 새로 따서 사용하는게 제일 마음 편하다.
'IT > GIT' 카테고리의 다른 글
| [GIT] Git 브랜치(Branch) 정리하기 (2) | 2025.06.23 |
|---|---|
| [GIT] Git 최신 커밋 수정하는 방법 (1) | 2025.06.13 |
| [GIT] Git alias 백업하는 방법 (1) | 2025.06.13 |
| [GIT] GitHub 원격 레포지토리 정리하기(git remote/push/pull) (1) | 2025.06.13 |
| [GIT] git 개념 및 원리 이해하기 (2) | 2025.06.12 |
| [GIT] git 레포지토리 생성 및 커밋하기 (1) | 2025.06.12 |
| [GIT] 깃허브(Github) DIRTY_WORKTREE 문제 해결 방법 (0) | 2025.04.07 |
| [GIT] 깃허브(Github) 다른 브랜치에 Push & Merge 하기 (0) | 2025.02.07 |




최근댓글