[GIT] GIT을 사용하다. - 5편 RESET관련 명령어

2021. 1. 14. 01:31 형상관리/Git

파일 개개별 원복

워킹트리의 수정된 파일을 index에 있는 것으로 원복 합니다.

git checkout -- 파일

워킹트리의 수정된 파일을 index에 있는 것으로 원복 합니다. 

git checkout HEAD -- 파일명

 

워킹트리의 수정된 파일의 내용을 FETCH_HEAD에 있는 것으로 원복 합니다. merge(이 경우 –는 생략가능)

git checkout FETCH_HEAD -- 파일명

 

INDEX추가 취소

해당 파일을 index에 추가한 것을 취소(unstage) 합니다. 워킹트리의 변경내용은 보존됩니다. (–mixed 가 default)

git reset -- 파일명

 

위와 동일 합니다.

git reset -- 파일명

 

COMMIT 취소

최종 커밋을 취소. 워킹트리는 보존됩니다. (커밋은 했으나 push하지 않은 경우 유용 합니다.)

git reset HEAD^

 

마지막 2개의 커밋을 취소. 워킹트리는 보존 됩니다.

git reset HEAD~2

 

마지막 2개의 커밋을 취소. index 및 워킹트리 모두 원복 됩니다.

git reset --hard HEAD~2

 

지한 것을 이미 커밋했을 때, 그 커밋을 취소 합니다. (잘못된 머지를 이미 커밋한 경우 유용 합니다.)

git reset --hard ORIG_HEAD

 

HEAD에서 변경한 내역을 취소하는 새로운 커밋 발행(undo commit) 합니다. (커밋을 이미 push 해버린 경우 유용 합니다.)

git revert HEAD

 

워킹트리 전체 원복

 

워킹트리 전체를 마지막 커밋 상태로 되돌립니다. 마지막 커밋이후의 워킹트리와 index의 수정사항 모두 사라 지게 됩니다.(변경을 커밋하지 않았다면 유용 합니다.)

git reset --hard HEAD

 

워킹트리의 모든 수정된 파일의 내용을 HEAD로 원복 합니다.

git checkout HEAD .

 

 

변경된 파일들을 HEAD로 모두 원복 합니다.(아직 커밋하지 않은 워킹트리와 index 의 수정사항 모두 사라집니다. 신규추가 파일 제외)

git checkout -f

 

RESET 옵션

 

index 보존 합니다, 워킹트리 보존. 즉 모두 보존 됩니다.

--soft

 

index 취소 합니다, 하지만 워킹트리만은 보존 (기본 옵션)

--mixed

 

index 취소 합니다, 워킹트리 취소. 즉 모두 취소 됩니다.

--hard

 

UNTRACKED 파일 제거

기본

git clean -f

 

디렉토리까지 제거

git clean -f -d



출처: https://redgolems.tistory.com/14?category=481635 [레드골렘즈 콤비의 개발이야기]