인생 첫 협업으로 해보는 개발이라 branch를 다루는데 서툴렀다.
혼자 작업할 땐 master branch만 사용했었다.
협업 과정에서 master branch는 함부로 건들면 안되기 때문에,
master branch 아래에 develop branch를 두었고
develop branch 아래에 feature branch를 두었다.
master branch와 develop branch에는 Branch protection rules를 적용해두었다.
따라서 feature branch에 Commit하고 Push해 PR을 생성하면,
팀원들이 이를 확인한 후 Commit한 것을 develop branch, master branch로 merge해줘야 했다.
허나 이를 자각하지 못하고 develop branch에 Commit하고선 Push가 안돼서 골머리를 썼다.
아래의 에러가 떠서 안내창 내용을 구글에 검색도 해보고 정말 온갖 키워드로 검색했지만
해결하지 못해 좌절했다.
에러문을 자세히 보다보니 2명의 review가 필요하단 말이 보였다.
그제서야 develop branch에 push하려는 행동 자체가 문제란 걸 깨닫고 feature branch로 이동했다.
feature branch로 이동했더니 설상가상으로 앞서 작업한 것들이 전부 사라졌다.
(이에 대한 이유는 아직 모르겠다.)
순간 작업물이 전부 사라진줄 알고 좌절했지만,
다행히도 develop branch로 다시 돌아가니 history에 commit해둔 작업물들이 남아있었다.
결국 나는 develop branch의 history에 있는 commit들을 feature branch로 옮기고 싶었다.
이번에도 검색해봤더니 마땅한 방법을 찾기 어려웠다.
오랜 시간 방황하다 마우스 오른쪽 클릭을 해보니 'Create Branch from Commit'이라는 게 보였다.
이전에 작업물을 날릴 뻔한 경험이 한 번 있어 도전이 무서웠지만,
에라 모르겠다라는 심정으로 'Create Branch from Commit'을 눌렀다.
새로운 branch를 생성할 수 있다길래 후다닥 기존의 feature branch는 지우고 새로운 feature branch를 생성했다.
결과적으로 새로운 feature branch가 생성되었고,
develop branch history에 있던 commit들이 feature branch의 histroy로 옮겨졌다!!!
(사실 나는 Delete README.md만 시범적으로 먼저 옮기려했는데 개발환경 세팅도 같이 옮겨졌다.
왜일까.. 어쨌든 둘다 옮겨야 했기에 그냥 넘어갔다.)
feature branch에서 push를 하니 정상적으로 작동했다! 정말 기뻤다.
push를 성공하니 Pull requests를 생성하는건 어렵지 않았다.
그 전까진 앞이 보이지 않는 막막함에 너무나 힘들었기에 더욱 기뻤다.
중간에 포기할까 고민 많이 했지만 포기하지 않고 끝까지 하다보니 스스로 해낼 수 있었다.
'Node로 하는 개발 일기' 카테고리의 다른 글
heap out of memory 에러 해결과 메모리 누수 검사 (2) | 2022.09.10 |
---|---|
협업에서 초기 환경 설정 클론하기(npm install)(node.js) (2) | 2022.02.18 |