nextjs,tailwindcss,vercel

github에서 레파지토리의 특정 커밋버전으로 롤백하는법

주영 🐱 2024. 11. 5. 15:13
728x90
반응형

GitHub에서 특정 커밋으로 롤백하는 방법을 알려드리겠습니다. 두 가지 주요 방법이 있습니다:

1. `git reset` 사용 (이전 커밋 기록 삭제):
```bash
# 특정 커밋의 해시값 확인
git log

# hard reset 사용 (모든 변경사항 삭제)
git reset --hard <커밋해시>

# 원격 저장소에 강제 push
git push -f origin main
```

2. `git revert` 사용 (새로운 커밋 생성, 권장방법):
```bash
# 특정 커밋으로 되돌리기 (새 커밋 생성)
git revert <커밋해시>

# 일반적으로 push
git push origin main
```

두 방법의 주요 차이점:
- `git reset`: 이전 커밋 히스토리가 모두 삭제됨
- `git revert`: 이전 커밋 히스토리가 보존되며, 되돌리는 작업이 새로운 커밋으로 기록됨

협업 프로젝트의 경우 `git revert`를 사용하는 것이 더 안전합니다.

추가 유용한 명령어들:
```bash
# 특정 커밋으로 이동해서 확인만 하기
git checkout <커밋해시>

# 가장 최근 커밋으로 돌아오기
git checkout main

# 바로 이전 커밋으로 되돌리기
git reset --hard HEAD~1
```

주의사항:
1. `git reset --hard`는 작업 중인 변경사항을 모두 삭제하므로 주의해서 사용해야 합니다
2. `git push -f`는 강제로 push하는 것이므로 팀 프로젝트에서는 신중하게 사용해야 합니다
3. 되돌리기 전에 현재 작업 내용을 백업해두는 것이 좋습니다

 

8958554 로 되돌리고싶다면

# 해당 커밋으로 revert
git revert 8958554

# 변경사항 push
git push origin main

 

git reset --hard를 사용하면 해당 커밋 이후의 모든 변경사항이 삭제됩니다
팀 프로젝트의 경우 git reset과 git push -f 사용은 신중히 결정해야 합니다
혹시 모르니 현재 작업 내용을 다른 곳에 백업해두는 것이 좋습니다

다시 최신 버전으로 돌아가고 싶으시다면:
git pull origin main

반응형