Coding Planet
[ Git ] 깃허브, git bash 기초 - 처음부터 따라하기3(reset) 본문
반응형
지금까지는 버전을 업데이트하는 법을 배웠다. 이제는 업데이트한 버전을 과거로 되돌리는 방법에 대해 알아보자
💡버전을 되돌리는 명령어
어디까지? | 옵션 | |
수정한 것 까지 통째로 | -- hard HEAD^ | -HEAD: 현재 작업중인 브랜치/커밋 중 가장 최근 커밋 - ^ : 하나 되돌려라 |
add한 것 까지 | -- mixed HEAD^ | |
commit 한 것만 | --soft HEAD^ |
- EX) 가장 최근 커밋으로부터 하나 전으로 되돌려라 : $git reset --hard HEAD^
- EX) 가장 최근 커밋으로부터 두 개 전으로 되돌려라 : $git reset --hard HEAD^^
🥰[실습하기]
1. VS Code에서 git bash로 수정하기
- 보기 - 터미널 - 새 터미널
- 터미널 편집기에서 Git Bash 선택하기
- 파일 수정하고 add / commit 해서 local repository 에 새 버전 올리
- text.txt 파일에 "This is a repository" 라고 수정해서 commit까지 하기
- text.txt 파일 또 수정 -> This is a Staging Area 후 add
** 현재 Git 상황
Working Directory | Staging Area | Repository |
"This is a Staging Area" | "This is a Staging Area" | "This is a repository"(두번째 커밋) "This is a new first commit"(첫번째 커밋) |
- This is a working directory로 수정하기
** 현재 Git 상황
Working Directory | Staging Area | Repository |
"This is a working directory" | "This is a Staging Area" | "This is a repository"(두번째 커밋) "This is a new first commit"(첫번째 커밋) |
2. 되돌리기(rest) 사용해보기
1) $ git reset --hard HEAD^
- 첫번째 commit이었던 "this is a new first commit"으로 돌아갔다.
- git log로 확인한 결과 두번째 commit은 사라졌다.
Working Directory | Staging Area | Repository |
2) $ git reset --mixedHEAD^
- 1)에서 되돌리기 전인 아래와 같은 상황이라고 다시 가정하자
Working Directory | Staging Area | Repository |
"This is a Staging Area" | "This is a Staging Area" | "This is a repository"(두번째 커밋) "This is a new first commit"(첫번째 커밋) |
- $ git reset --mixed HEAD^ -> mixed가 default 옵션이기 때문에 생략 가능하다.
Working Directory | Staging Area | Repository |
"This is a Staging Area" | "This is a new first commit"(첫번째 커밋) |
3) $ git reset --soft HEAD^
- 2)에서 되돌리기 전인 아래와 같은 상황이라고 다시 가정하자
Working Directory | Staging Area | Repository |
"This is a Staging Area" | "This is a Staging Area" | "This is a repository"(두번째 커밋) "This is a new first commit"(첫번째 커밋) |
- $ git reset --soft HEAD^로 인해 두번째 커밋이 사라졌다
Working Directory | Staging Area | Repository |
"This is a Staging Area" | "This is a Staging Area" | "This is a new first commit"(첫번째 커밋) |
반응형
'etc' 카테고리의 다른 글
[ Git ] 깃허브, git bash 기초 - 처음부터 따라하기5 (로컬과 원격의 상호작용) (0) | 2023.05.22 |
---|---|
[ Git ] 깃허브, git bash 기초 - 처음부터 따라하기4(branch만들기, merge) (0) | 2023.05.21 |
[ Git ] 깃허브, git bash 기초 - 처음부터 따라하기2(github에 push하기) (0) | 2023.05.21 |
[ Git ] 깃허브, git bash 기초 - 처음부터 따라하기(로컬 저장소 만들기) (0) | 2023.05.20 |
The OAuth 2.0 Authorization Framework란? 카카오 로그인 AP (0) | 2023.04.12 |
Comments