reset: 재설정
revert: 되돌리기
비슷하지만 약간 다름
reset은 커밋을 제거하고 브랜치 포인터를 해당위치로 이동시키지만
revert는 변경사항을 삭제하는 커밋을 새로 하는 형태라 보면됨.
<commit-hash>
일종의 soft reset
해당 commit으로 돌아가지만 작업내용은 남아있음.
<commit-hash>
해당 commit으로 돌아감과 동시에 작업내용도 날림.
veritas@veritas:~/gitserver/gittest$ git reset HEAD~1
Unstaged changes after reset:
M a.py
veritas@veritas:~/gitserver/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: a.py
no changes added to commit (use "git add" and/or "git commit -a")
veritas@veritas:~/gitserver/gittest$ git log --oneline
0832b08 (HEAD -> master) change
9604190 modified merge
3085d7f (dev1) change2
c89332b change1
07e0d34 init2
6793199 init
veritas@veritas:~/gitserver/gittest$ git commit -a -m "restore"
[master 95f1ae9] restore
1 file changed, 3 insertions(+), 1 deletion(-)
veritas@veritas:~/gitserver/gittest$ git status
On branch master
nothing to commit, working tree clean
veritas@veritas:~/gitserver/gittest$ git reset --hard HEAD~2
HEAD is now at 9604190 modified merge
veritas@veritas:~/gitserver/gittest$ git status
On branch master
nothing to commit, working tree clean
<commit-hash>
특정 commit 혹은 n commit 전으로 원상복귀 시키는 commit을 수행한다.
reset보다는 revert를 사용( 팀단위 프로젝트에서 혼동되지않음.)
veritas@veritas:~/gitserver/gittest$ git log --oneline
a87d62b (HEAD -> master) asd
a50cc2c 2
adc0873 1
98f4bda asd
c291828 aa
bcd7255 2nd
2655eda 1st
46cf726 asd
bdcc725 1
9604190 modified merge
3085d7f (dev1) change2
c89332b change1
07e0d34 init2
6793199 init
veritas@veritas:~/gitserver/gittest$ git revert a87d62b
[master 46c1602] Revert "asd"
1 file changed, 3 insertions(+), 1 deletion(-)
veritas@veritas:~/gitserver/gittest$ git status
On branch master
nothing to commit, working tree clean
veritas@veritas:~/gitserver/gittest$ git log --oneline
46c1602 (HEAD -> master) Revert "asd"
a87d62b asd
a50cc2c 2
adc0873 1
98f4bda asd
c291828 aa
bcd7255 2nd
2655eda 1st
46cf726 asd
bdcc725 1
9604190 modified merge
3085d7f (dev1) change2
c89332b change1
07e0d34 init2
6793199 init