딱콩이의 봄

Git commit 취소하기 본문

봄과 함께하는 프로젝트/git

Git commit 취소하기

코린이딱콩 2022. 9. 10. 01:12

commit 취소하기

 

commit을 취소해야 하는 상황이 생길때가 있다.

commit을 일찍 한 경우, 아니면 어떤 파일을 빼먹고 commit을 한 경우

이때 git reset HEAD^ 명령어를 통해 commit을 취소할 수 있다!

// commit 목록 확인
git log
//방법1 commit을 취소하고 해당 파일들은 staged상태로 워킹 디렉터리에 보존
git reset --soft HEAD^

//방법2 commit을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉터리에 보존
git reset --mixed HEAD^ //기본 옵션
git reset HEAD^ //위와 동일
git reset HEAD~2 //마지막 2개의 commit을 취소

//방법3 commit을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉터리에서 삭제
git reset --hard HEAD^

git reset 명령은 아래의 옵션과 관련해서 주의하여 사용해야한다.

reset 옵션

-soft : index보존 (add한 상태, staged상태), 워킹 디렉터리의 파일 보존 즉 모두 보존

-mixed: index 취소( add하기 전 상태, unstaged상태) , 워킹 디렉터리의 파일 보존(기본옵션)

-hard: index취소(add하기 전 상태, unstaged상태), 워킹 디렉터리의 파일 삭제 즉 모두 취소

 

만약 워킹 디렉터리를 원격 저장소의 마지막 commit 상태로 되돌리고 싶으면, 아래의 명령어를 사용한다.

단, 이 명령을 사용하면 원격 저장소에 있는 마지막 commit 이후의 워킹 디렉터리와 add했던 파일들이 모두 사라지므로 주의해야 한다.

//워킹 디렉터리를 원격 저장소의 마지막 commit 상태로 되돌린다.
git reset --hard HEAD

'봄과 함께하는 프로젝트 > git' 카테고리의 다른 글

Git 클론하기  (0) 2022.09.10
Comments