git 관련 case

A,B를 모두 커밋했는데 깃헙에는 A까지만 푸시하고 싶을 때

현재 상태

A -> 여기가 내 로컬 commit 
---
B -> A보다 먼저 commit 
---
C -> github와 동기화된 commit 

이런 상태일 때 B만 push 하고 싶을 때

방법 1. commit ID 사용해서 push

git push origin <복사한_커밋_해시>:<브랜치명>

이러면 커밋해시만 푸시 가능하다.

방법 2. reset

git reset --soft HEAD^

Head에 있는 커밋을 staging 상태로 되돌리는 명령어이다. --soft 대신 --hard도 가능하다. 대신 작업 내용이 완전히 삭제되니까 앵간하면 쓰지말자. HEAD^는 바로 이전 커밋을 뜻한다.