준비 영역에 남아 있는 파일을 다시 커밋하면 git reset 명령 전과 비교해서 코드 변경은 없지만 대신 커밋 목록이 정리됩니다.
administrator@vmgate:~/gittest$ git commit -m 'Finish editing' administrator@vmgate:~/gittest$ git log --oneline f2fff84 (HEAD -> master) Finish editing fa7301f Create 2019AD.txt 5aba677 Edit failure.txt bc8d4f5 Create failure.txt
이번에는 옵션 없이 git reset 명령을 실행해 봅시다.
administrator@vmgate:~/gittest$ git reset fa7301f
Unstaged changes after reset:
M 2019AD.txt
M failure.txt
지정한 커밋으로 되돌리고 이후 작업 이력이 사라지는 것은 마찬가지입니다. --soft 옵션을 붙인 결과와 차이는 변경된 파일이 준비 영역에 올라와 있지 않다는 점입니다. 이 상태에서 파일 내용을 다시 수정하여 작업을 이어 나갈 수 있습니다.
administrator@vmgate:~/gittest$ git log --oneline fa7301f (HEAD -> master) Create 2019AD.txt 5aba677 Edit failure.txt bc8d4f5 Create failure.txt administrator@vmgate:~/gittest$ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: 2019AD.txt modified: failure.txt no changes added to commit (use "git add" and/or "git commit -a")