이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

Tool 사용법/Git

Git add, commit, push 취소하기

이쿠우우 2020. 9. 7. 20:33
반응형

Git add, commit, push 취소하기

 

git add 취소하기

실수로 git add * 명령을 사용하여 모든 파일을 스토리지 영역에 넣은 경우

취소하고 싶은 상황이 발생함

 

명령어

git reset HEAD <add 를 취소하고자 하는 파일 이름>

  • 해당 파일만 git add 를 취소

git reset HEAD 

  • 파일 전체를 add 취소

 

 

git commit 취소하기

너무 일찍 commit 한 경우

어떤 파일을 빼먹고 commit 한 경우

취소하고 싶은 상황이 발생

 

명령어

1) git reset --soft HEAD^

commit을 취소하고 해당 파일들은 staged 상태로 워킹 디렉터리에 보존

즉 add 한 상태 staged 상태

 

2) git reset ---mixed HEAD^

commit 을 취소하고 해당 파일들 unstaged 상태로 워킹 디렉터리에 보존

즉 add 하기 전 상태,  unstaged 상태

 

3) git reset HEAD^

위와 동일

 

4) git reset HEAD~2

마지막 2개의 commit 을 취소

 

5) git reset --hard HEAD^

commit 을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉터리에서 삭제

즉 add 하기 전 상태,  unstaged 상태, 워킹 디렉터리도 삭제

 

참고) git commit --amend

commit message 를 변경

 

참고)  git reset --hard HEAD

워킹 디렉터리를 원격 저장소의 마지막 commit 상태로 되돌리기

 

 

 

git push 취소하기

이 명령을 사용하면 자신으 local 내용을 remote 에 강제로 덮어쓰기 하는것이기 때문에 주의!!

되돌아간 commit 이후의 모든 commit 정보가 사라짐

무조건 팀원가 협의 후에 진행할 것

 

진행 과정 설명

1) 가장 최근의 commit 을 취소하고 워킹 디렉터리를 되돌림

git reset HEAD^

 

2) 원하는 시점으로 디렉터리를 되돌림

git reset HEAD@{number}

또는

git reset [commit id]

 

3) 되돌려진 상태에서 다시 commit

git commit -m "커밋 내용"

 

4) 원격 저장소에 강제로 push

git push <원격 저장소 이름> <브랜치 이름> -f

-f 옵션 : -force 옵션과 동일

 

또는

git push <원격 저장소 이름> +<브랜치 이름> 

+ 옵션 : 해당 branch 를 강제로 push 

 

 

 

 

 

 

 


제 글을 복사할 시 출처를 명시해주세요.
글에 오타, 오류가 있다면 댓글로 알려주세요! 바로 수정하겠습니다!


 

반응형