깃으로 프로젝트를 관리하다보면 발생하는 몃가지 패턴의 난관을 해결해보자
조금 야매거나 권장되지 않는 방법이 들어있을 수 있다
branch 는 현재 HEAD를 복제해서 branch로 만든다
그걸 잘 활용하면 쉽게 branch로 백업을 할 수 있다
임시 브런치는 git branch
를 했을 때 나오지 않는다
임시 브런치에서 작업중이라면 직접 만든 브런치로 옮겨주면 좋을 것 같다
만약 git flow를 사용하고 있다면 feature 를 새로 열어서 저장해도 괜찮을 것 같다
git feature finish {작업명}
: 과정 커밋 삭제
git feature finish --no-ff {작업명}
: 과정 커밋이 유지 됨
revert
이미 커밋 한 것 이전 커밋으로 돌아가기git revert head~$
$는 숫자로 바꿔서 쓰면 된다
숫자 1 당 커밋 1개
이걸 사용하게 되면 로그는 쌍따옴표로 묶이고 앞에 revert
가 붙는다
revert "log~"
로그를 확인해보면 HEAD가 아래로 내려갔을 뿐 다시 돌아갈 수 있다
git log 를 확인하고 해당 번호로 git reset <logNumber>
를 한다
안되면 뒤에 --hard
를 붙여본다
revert 하고 push 했으면 이미 죽은 것으로 보인다...
일단 충돌이 발생하면 vscode 에서는 쉽게 충돌 병합이 되게 해주는 선택지가 나온다
옆에 미니맵? 보면 어디 쯤 선택지가 나와있는지 볼 수 있다
수정이 다 되면 커밋을 해서 변경사항을 스테이지에 등록하면 원래 작업하던 모드로 돌아온다