Page History
reset 은 작업 취소과정에서 다양하게 사용할 수 있다.
reset 이 커밋의 참조를 삭제하기 때문에 히스토리가 변경된다.
즉, reset은 공유되지 않는 브랜치의 히스토리를 변경하는데만 사용하는것이 좋다.
reset의 대상은 유지될 것이고, revert의 대상은 삭제되는것을 뜻한다.
Code Block |
---|
$ git log --online 4c239d9 Merge pull request #13 from CalebeGeazi/master 220dc3b fixed page 5/1 where 2 slides were combined into 1 dde7c5d Updated URL for slides to use non-personal project page. 54f49bb OSCON 2015 Portland: Updated handout with revised book terms eca7edd OSCON 2015 Portland: Language updates based on updated book terms 2db982d Changes to "Undo" graphic: add credits, add license, clean export $ git reset dde7c5d Unstaged changes after reset: M README.md M resources/workflow-sample-whisperingpines-releasecycle.md ... $ git diff diff --git a/README.md b/README.md index 9131b87..3d8ebac 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,24 @@ Git for Teams of One or More ... $ git add --all $ git status $ git diff --staged // 수정사항을 확인하려면 staging의 것을 확인함. $ git commit -m "Replacing" [master 6ec7060] Replacing |
브랜치의 세개의 커밋을 하나로 압출하려면 다음과 같은 명령어를 사용
Code Block |
---|
$ git reset HEAD~# |
■ 로컬에서 README.md 파일을 삭제한 경우.
Code Block |
---|
$ rm README.md
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted: README.md
no changes added to commit (use "git add" and/or "git commit -a")
$ git checkout -- README.md |
■ 로컬에서 README.md 파일을 삭제한 후 Add 한 경우.
Code Block |
---|
$ rm README.md
$ git add README.md
$ 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)
deleted: README.md
$ git reset HEAD README.md
Unstaged changes after reset:
D README.md
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted: README.md
no changes added to commit (use "git add" and/or "git commit -a")
$ git checkout -- README.md
//위의 두명령어를 하나로 합칠경우.
$ git reset --hard HEAD -- README.md |
로컬 폴더의 수정사항을 모두 취소하고
이전 커밋에 저장된 파일로 되돌릴 경우
Code Block |
---|
$ git reset --hard HEAD
HEAD is now at b4faee3 Replace feedback link for 2016 OSCON workshop. |