기존 마크업에서 react-hook-form 을 적용해 리팩토링하기 위해 develop
브랜치에서 새로 분기를 해서 작업을 했는데, 작업을 모두 완료하고 PR을 날리려고 보니 다른 사람의 커밋 이력까지 딸려오는 문제가 있었다.
PR을 많이 날려보지 않았던 지라, 아직 사용자 홈 마크업 구현
부분이 merge가 되지 않은채로 PR을 새로 날려서 합쳐진건가? 별의 별 생각이 다 들었지만, git log
를 확인해보니 내가 다른사람 브랜치에서 분기해 작업했던 탓인 것 같았다.
구글링을 해봤을 때 가장 많이 나오는 근본적인 해결방법은 바로 내 커밋만 똑! 떼어서 가져오는 cherry pick
이었지만, 실행해본 결과 diff가 나오지 않는 문제가 있었다.
코드리뷰를 받아야 하는데 diff가 안보이면 안되기 때문에, develop 브랜치에서 다시 분기를 하고 작업해야겠다 생각했는데
git checkout
을 통해 develop
브랜치로 이동해보니 최신화가 되어있지 않았다. 그래서 평소 알고있던대로 git fetch
로 변경사항을 확인하고 git pull
을 했는데도 초반 마크업 부분이 나타났다..
구글링 결과, 브랜치 최신화를 시키기 위해서는 다음과 같은 명령어를 입력해야 했다.
git checkout develop
git fetch
git pull origin develop
이 명령어를 입력해주니 develop 브랜치에 머지된 최신 마크업까지 전부 pull 되었고 이제 다시 새 브랜치로 분기해서 PR을 날리면 끝이다.
git branch 생성과 동시에 이동하는 명령어는 다음과 같다.
git checkout -b 브랜치이름
git switch -c 브랜치이름
예전에 reset 명령어를 사용하다가 작업했던 파일들이 다 예전 파일로 돌아가는(알고보니 무언의 충돌에 의한 stash 된 상태),,,, 오열했던 사건이 있었기에 아직도 git은 어렵다고 느껴지는 존재지만, 그래도 조금 익숙해지는 것 같다.