ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • git reset
    Git 2020. 12. 1. 16:36

     

    Push하기 전이면 reset을 사용할 수 있다.

     

    수정하기 전 상태로 되돌린다.

    $ git checkout .			// 수정한 모든 파일을 수정하기 전으로 되돌린다.
    $ git checkout {folder name}		// 수정한 특정 폴더를 수정하기 전으로 되돌린다.
    $ git checkout --{file name}		// 수정한 특정 파일을 수정하기 전으로 되돌린다.
    $ git reset --hard HEAD^		// 수정한 모든 파일을 수정하기 전으로 되돌린다.
    $ git reset --hard HEAD^ {file name}	// 수정한 특정 파일을 수정하기 전으로 되돌린다.

     

    add하기 전 상태(수정한 후 상태)로 되돌린다.

    $ git reset --mixed HEAD^		// add한 모든 파일을 add하기 전으로 되돌린다.
    $ git reset --mixed HEAD^ {file name}	// add한 특정 파일을 add하기 전으로 되돌린다.

     

    commit하기 전 상태(add 한 후 상태)으로 되돌린다.

    $ git reset --soft HEAD^

     

     

     

     

     

     

     

    현재 작업 트리, HEAD, 인덱스를 특정 버전때로 되돌린다.

    $ git reset --hard {commit 번호}

    완전 과거 상태로 되돌린때 사용 커밋, 작업 파일이 다 과거로 되돌아감

     

    현재 작업 트리는 유지한 채로 HEAD, 인덱스를 특정 버전때로 되돌린다.

    $ git reset --mixed {commit 번호}

    현재 작업 파일은 유지하면서 특정 버전 부터 현재 버전까지의 커밋은 지우고 새로운 커밋은 남겨야할 때 사용

     

    현재 작업 트리와 인덱스는 유지한 채로 HEAD를 특정 버전때로 되돌린다.

    $ git reset --soft {commit 번호}

    현재 작업 파일은 유지하면서 특정 버전 부터 현재 버전까지의 커밋은 지우고 새로운 커밋을 남기지 않아도 될 때 사용

    ※ 새로운 커밋을 남길 수 도 있음

     

    reset 실행 전 상태로 되돌린다.

    $ git reset --hard ORIG_HEAD

     

     

     

    reset시 주의사항

    로컬 저장소 커밋 히스토리가 원격 저장소 커밋 히스토리보다 뒤라면 push를 할 수 없다.

    강제로 덮어써야하는 경우에는 git push -force를 사용한다.

     

     

    'Git' 카테고리의 다른 글

    git branch 관련  (0) 2020.12.02
    git rebase 관련  (0) 2020.12.01
    git revert  (0) 2020.12.01
    git checkout 관련  (0) 2020.12.01
    다른 원격저장소로 복사  (0) 2020.12.01

    댓글

Designed by Tistory.