git add .
git commit -m "메시지"
git push
예를들어 개인 브랜치에서 작업하면서 여러개의 커밋을 푸쉬한다. 그 중에 코드 리뷰를 받아서 dev나 merge에 적용할 commit 몇개만 적용하고 싶을 때, cherry-pick을 사용한다.
(사실 pull request로 진행하기 때문에 이럴 경우는 거의 없다.)
일단 개인브랜치의 log를 확인한다.
git checkout local
git log
여러 로그가 나오는데 적용시킬 Commit의 hash를 복사한다.
그리고 적용시킬 branch로 이동한다.
git checkout dev
git cherry-pick 'hash'
이러면 부분적으로 적용이 가능하다.
reset : 시간을 아예 과거의 특정 사건(commit)으로 되돌린다.
revert : 현재에 있으면서 과거의 특정 사건(commit)들만 없던 일로 만든다.
커밋을 취소하고 싶을 때, Git Reset이나 Revert를 사용한다.
option이 3가지가 있는데 hard, soft, mixed
git reset --soft [commit ID]
git reset --mixed [commit ID]
git reset --hard [commit ID]
git reset HEAD~10
git reset HEAD^
- soft : commit된 파일들을 staging area로 돌려놓음. (commit 하기 전 상태로)
- mixed(default) : commit된 파일들을 working directory로 돌려놓음. (add 하기 전 상태로)
- hard : commit된 파일들 중 tracked 파일들을 working directory에서 삭제한다.
- HEAD~취소할커밋수 : 현재로부터 원하는 만큼의 커밋이 취소된다.
- HEAD^ : 가장 최근의 커밋이 취소된다. (기본옵션 mixed)
git revert [commit ID]
돌아가고자 하는 commit ID를 적어준다.
그리고 원격 저장소에 적용하기 위해서는
git push -f origin master
vercel로 배포했다면 그냥 deployment들어가서 이전버전으로 재배포하면 된다.