Git and Github

git 취소, 삭제 (revert, reset)

빠니몽 2021. 3. 6. 01:37

 

21.03.05

 

1. revert

커밋한 파일, 기능 삭제 후 삭제 커밋을 남김

git revert 커밋해시코드

2. reset

지금까지 작업했던거 날리고 특정 이전 커밋 환경으로 이동

해시코드 후의 커밋 다 사라짐

git reset 커밋해시코드

 

옵션

--soft : 이전이력을 날리지 않고 stage된 상태로 되돌림

--mixed : 이전이력을 working 상태로 되돌림

--hard : 그냥 모두 삭제

 

3. Add 취소하기

모든 staged된 파일 취소

git (--mixed) reset HEAD

 

특정 파일 취소

git reset HEAD 파일명

4. 커밋 취소하기

git reset HEAD^

5. push 취소하기

git reset --hard
git push origin main -f

6. pull 취소하기

git reset --hard HEAD^

7. merge 취소하기

git reset --merge ORIG_HEAD

PR가 있기 때문에 원격에서 일어난 머지 취소 경우가 거의 없음

 

충돌 가능성은 revert가 더 적음

8. 기타

HEAD, @ : 내가 지금 작업하는 커밋의 pointer

HEAD^, HEAD~, HEAD~1 : 바로 뒤 커밋

HEADn, HEAD~n : n개 뒤의 커밋

ORIG_HEAD : 명령어 전을 가리키고 있음. pull merge하면 생긴다