git 2일차 자습

Young Joy·2025년 8월 1일

Git_Github

목록 보기
11/19

git reflog = Git에서 했던 모든 행동 기록장
→ 실수했을 때 되돌아갈 수 있게 도와주는 타임머신이에요.

좋아요! 이번엔 git revert를 쉽게 설명해드릴게요.
앞서 봤던 reflog이 "타임머신"이라면, revert는 **"실수한 커밋을 되돌리는 안전한 취소 버튼"**이에요. ✨


🔁 git revert가 뭐예요?

👉 실수한 커밋 내용을 취소하고 싶을 때,
그 내용을 반대로 되돌리는 새 커밋을 만드는 명령어예요.

📌 원래 커밋은 그대로 두고, 새 커밋으로 덮는 방식이라
히스토리를 안전하게 보존할 수 있어요.
→ 협업할 때 아주 좋아요!


🎯 언제 써요?

  • 실수로 파일을 수정한 커밋을 올렸을 때
  • 강제 삭제 말고 안전하게 취소하고 싶을 때
  • GitHub 같은 공유 저장소에 이미 푸시한 커밋을 되돌리고 싶을 때

🧪 예시

$ git log --oneline
9c3c4f2 Fix typo in README
a3f5d3e Add login feature
1a2b3c4 Initial commit

여기서 a3f5d3e 커밋을 되돌리고 싶다면?

$ git revert a3f5d3e

→ 자동으로 **"되돌림 커밋"**이 생겨요!

📄 커밋 메시지:

Revert "Add login feature"

💡 revert vs reset 차이

명령어설명안전성협업 시
revert되돌리는 새 커밋 생성✅ 안전함✅ 추천
reset과거 커밋으로 되돌려 덮어씀⚠️ 위험함❌ 권장 안 함

📝 한 줄 정리

git revert = 실수한 커밋을 되돌리는 새 커밋 만들기!
→ 기존 기록은 건드리지 않고, 안전하게 취소하는 방법이에요. 👍


#log 정보 확인 후 커밋 해시 확인 및 복사
git log

#복사한 커밋 해시를 이용해 reset 옵션으로는 hard를 사용
git revert [커밋 해시]

#다시 한번 log를 활용해 정상적으로 reset이 되었는지 확인
git log

상황추천 방식
혼자 실험 많이 했고, 결과만 남기고 싶을 때squash
커밋 히스토리를 유지하되 main 위에 정렬하고 싶을 때rebase
협업 중이고, 팀원 히스토리를 존중하고 싶을 때merge (기본)

#merge-squash

git merge --squash (대상 브랜치)

#rebase

#합치려는 branch로 이동하는 명령어

git switch [이동을 원하는 branch]

#합치려는 branch의 커밋 이력을 합칠때 사용하는 명령어

git rebase main

#main branch로 이동

git switch main

#main에서 main branch와 합치고자하는 branch를 merge 진행

git merge [합치고자하는 branch명]

예)git switch develop
git rebase main
git switch main
git merge develop

0개의 댓글