![04_GitReset](https://inblog.ai/_next/image?url=https%3A%2F%2Finblog.ai%2Fapi%2Fog%3Ftitle%3D04_GitReset%26logoUrl%3Dhttps%253A%252F%252Finblog.ai%252Finblog_logo.png%26blogTitle%3Dchodong&w=1920&q=75)
Contents
Reset 의 기본 사용 방법
git reset --hard [hashCode] # reset 기본 명령어
Reset에는 3가지 옵션인
Soft, Mixed, Hard가 있는데 주로 Hard를 사용하여 Hard 사용법 만 기억해도 좋다!
Soft : 커밋 로그 변경 시 필요
Mixed : 작업 영역의 내용 변경 시 필요
Hard : 위의 모두를 변경 시 필요
만약 Reset으로 돌아 갔는데 전의 파일로 다시 가고싶다면?
→ reflog를 이용하여 전의 commitHashCode를 조회하여 reset한다!
# 사용 방법! git reflog # 모든 commit 정보를 호출 git reset --hard [hashCode] # reflog의 hashCode를 확인 후 입력
Reset 의 사용
- 주로 리펙토링의 과정에 많이 사용한다 → commit을 리펙토링 전에 하여 리펙토링 실패 시 원상 복구를 하기 위해서이다.
- GitHub에 올린 것을 리셋 할 시에는 형상이 틀어질 수 있기 때문에 주의해야한다. → 만약 리셋을 꼭 해야한다면? 브런치를 만들어 강제로 푸쉬해준다. (이런 이유로 개발 시에는 항상 리셋용 브런치를 하나 만들어 둔다.)
- GitReset은 한마디로 ‘헤더 옮기기’ 이다.
VCS (Version Control System)
- 소프트웨어 개발에서 소스 코드의 변경 사항을 관리하는 시스템이다.
- 여러 사람이 동시에 작업이 가능하다.
- 롤백하거나, 누가 언제 어떤 변경을 했는지 확인이 가능하다.
DVCS (Distributed Version Control System)
- 사용자가 저장소의 전체 사본을 가지고 작업하는 시스템이다.
- 네트워크가 없는 환경에서도 작업이 가능하다.
- 각 사용자의 로컬 저장소가 백업 역할을 할 수 있다
- 동시 작업이 가능하며 병렬적으로 브랜치 관리를 할 수 있다.
Git은 DVCS에 속한다! 이건 꼭 기억하자! → 모든 곳에서 관리가 가능하다.
Share article