본문 바로가기

IT/Git

[git] 되돌리는 방법

git으로 할 수 있는 것들

    1. 코드 저장(백업) --> git add, git commit, git push

    2. 과거 조회, 되돌리기

    3. 협업

 

add나 commit한 것들을 취소할 수 있을까?

git reset으로 되돌릴 수 있다.

어디까지 되돌릴까? 옵션  
수정한것 까지 통째로 --hard HEAD^ "쎄게 되돌리자"
add한 것 까지 --mixed HEAD^ "적당히 되돌리자"
commit 한 것만 --soft HEAD^ "살짝만 되돌리자"

가장 최근 커밋으로부터 하나 전으로 되돌려라

$ git reset --hard HEAD^

가장 최근 커밋으로부터 두개 전으로 되돌려라

$ git reset --hard HEAD^^

가장 최근 커밋으로부터 세개 전으로 되돌려라

$ git reset --hard HEAD^^^

git reset 연습 실습

cd /opt/gopath/src/git_tutorial
# reset 연습
# hard를 통해 commit을 없애보자
git log
commit ce38ff074664d8949036a61be8c62a972f2d13fe (HEAD -> master)
Author: lotty <lotty02cho@hanmail.net>
Date:   Sun Jun 27 07:42:09 2021 -0700

    문구 수정

commit 499cc653335f7a40c5003a6d62ea485aec96d1de
Author: lotty <lotty02cho@hanmail.net>
Date:   Sun Jun 27 07:38:52 2021 -0700

    문구 추가

commit 325614d294d2c078ebd5e288765893fbc4655d93
Author: lotty <lotty02cho@hanmail.net>
Date:   Sun Jun 27 07:10:38 2021 -0700

    first commit
# 전단계로 리셋해주세요
git reset --hard HEAD^
HEAD is now at 499cc65 문구 추가
git log
commit 499cc653335f7a40c5003a6d62ea485aec96d1de (HEAD -> master)
Author: lotty <lotty02cho@hanmail.net>
Date:   Sun Jun 27 07:38:52 2021 -0700

    문구 추가

commit 325614d294d2c078ebd5e288765893fbc4655d93
Author: lotty <lotty02cho@hanmail.net>
Date:   Sun Jun 27 07:10:38 2021 -0700

    first commit
# 앞단의 commit은 사라짐
git reset --mixed HEAD^
Unstaged changes after reset:
M	test.txt
git log
commit 325614d294d2c078ebd5e288765893fbc4655d93 (HEAD -> master)
Author: lotty <lotty02cho@hanmail.net>
Date:   Sun Jun 27 07:10:38 2021 -0700

    first commit
git log
commit 325614d294d2c078ebd5e288765893fbc4655d93 (HEAD -> master)
Author: lotty <lotty02cho@hanmail.net>
Date:   Sun Jun 27 07:10:38 2021 -0700

    first commit
git reset --soft HEAD^
fatal: ambiguous argument 'HEAD^': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
git reset --soft HEAD
git log
commit 325614d294d2c078ebd5e288765893fbc4655d93 (HEAD -> master)
Author: lotty <lotty02cho@hanmail.net>
Date:   Sun Jun 27 07:10:38 2021 -0700

    first commit

'IT > Git' 카테고리의 다른 글

[git] git checkout 후 merge  (0) 2021.10.11
[gitlab] pre-receive hook declined 오류  (0) 2021.08.24
[git] 되돌리는 방법  (0) 2021.06.27
[git] git .ignore이 먹히지 않을때  (0) 2021.06.22
git commit 데이터까지 통째로 옮기기  (0) 2020.11.06