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
'nextjs,tailwindcss,vercel' 카테고리의 다른 글
안드로이드 앱 출시 시 제출해야할 이미지 그래픽들 (5) | 2024.11.08 |
---|---|
안드로이드 앱 개발 - expo assets 사진들 설명 (0) | 2024.11.08 |
Expo Router를 사용하는 파일 기반 라우팅 시스템 구조 (1) | 2024.11.04 |
SEO canonical URLs and redirects 의미와 이유 (0) | 2024.11.04 |
it looks like you may be using a lan url expo 오류 해결 (2) | 2024.10.31 |