Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- error
- NVM
- Sentry
- IONIC3
- 변화감지
- oh-my-zsh
- JavaScript
- Git
- hashchange
- sealize
- change detection
- Visual Studio Code
- rxjs
- fromEvent
- angular
- ion-range
- typescript
- zsh
- getElementsByClassName
- angular5
- code .
- aab 배포
- Ionic
- 테두리굵기
- 자바스크립개념
- border-width
- php
- ChangeDetectorRef
- 이미지바꾸기
- VSCode
Archives
- Today
- Total
hsunny study blog
commit 되돌리기 본문
테스트파일 생성
GIT 폴더 하위에 git-reset-test.md 파일을 생성해주었습니다.
➜ study git:(master) git status
On branch master
Your branch is up to date with 'origin/master'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
GIT/git-reset-test.md
nothing added to commit but untracked files present (use "git add" to track)
➜ study git:(master) ✗ git add GIT/git-reset-test.md
➜ study git:(master) ✗ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: GIT/git-reset-test.md
➜ study git:(master) ✗ git commit -m "git-reset-test"
[master 4342215] git-reset-test
1 file changed, 1 insertion(+)
create mode 100644 GIT/git-reset-test.md
➜ study git:(master) git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
➜ study git:(master) git log -1
|
HEAD 의 위치
* 4342215 - (HEAD -> master) git-reset-test (7 minutes ago) <ssunny>
* 3b96a77 - (origin/master, origin/HEAD) Update README.md (8 days ago) <sunny>
|
테스트를 위한 파일 생성을 마쳤습니다.
reset 명령어를 이용해 되돌려보겠습니다.
git reset --soft HEAD^ 로 커밋 리셋하기
➜ study git:(master) git reset --soft HEAD^
➜ study git:(master) ✗ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: GIT/git-reset-test.md
|
git-reset-test.md 가 staged 상태로 변화합니다.
HEAD의 위치
* 3b96a77 - (HEAD -> master, origin/master, origin/HEAD) Update README.md (8 days ago) <sunny>
|
HEAD가 가르키는 위치는 이전 커밋으로 변경되었습니다.
4342215 커밋 사라짐
다시 커밋해보면
➜ study git:(master) ✗ git commit -m "reset soft HEAD^"
[master ce65127] reset soft HEAD^
1 file changed, 1 insertion(+)
create mode 100644 GIT/git-reset-test.md
|
HEAD의 위치
* ce65127 - (HEAD -> master) reset soft HEAD^ (64 seconds ago) <ssunny>
* 3b96a77 - (origin/master, origin/HEAD) Update README.md (8 days ago) <sunny>
|
ce65127 값으로 새로운 commit이 생성되었고, 새로운 commit이 HEAD가 되었습니다.
git reset HEAD^ 로 커밋 리셋하기
➜ study git:(master) git reset HEAD^
➜ study git:(master) ✗ git status
On branch master
Your branch is up to date with 'origin/master'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
GIT/git-reset-test.md
nothing added to commit but untracked files present (use "git add" to track)
|
git-reset-test.md 가 unstaged 상태로 변화합니다.
다시 커밋해보면
➜ study git:(master) ✗ git add GIT/git-reset-test.md
➜ study git:(master) ✗ git commit -m "reset HEAD^"
[master e806dea] reset HEAD^
1 file changed, 1 insertion(+)
create mode 100644 GIT/git-reset-test.md
|
HEAD의 위치
* e806dea - (HEAD -> master) reset HEAD^ (70 seconds ago) <ssunny>
* 3b96a77 - (origin/master, origin/HEAD) Update README.md (8 days ago) <sunny>
|
e806dea 값으로 새로운 commit이 생성되었고, 새로운 commit이 HEAD가 되었습니다.
git reset --hard HEAD^ 로 커밋 리셋하기
➜ study git:(master) git reset --hard HEAD^
HEAD is now at 3b96a77 Update README.md
➜ study git:(master) git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
|
git-reset-test.md만든 것조차 사라집니다.
> git-reset-test.md(deleted)
깨끗하게 이전단계(3b96a77) 커밋 그대로로 돌아가버립니다.
'programming > GIT' 카테고리의 다른 글
원격브랜치 가져오기 (0) | 2020.12.29 |
---|---|
git stash 사용하기 (0) | 2020.12.28 |
원격(remote)저장소 확인하기 (0) | 2019.11.12 |
웹서비스 배포를 위한 서버 git 설정 (0) | 2019.03.22 |