main : 배포를 위한 최종본
dev : 개발을 위한 브랜치
feat/fe : 하나의 기능을 구현하는 브랜치 (fe)
feat/be : 하나의 기능을 구현하는 브랜치 (be)
기존에는 브랜치를 4개로 나눠서 feat/fe
를 프론트엔드가 공통으로 사용하였으나, 각자의 작업 속도가 달라서 dev
로 Pull Request할 주기를 잡지 못했고, 그로인해 feat/fe
에만 작업물이 쌓이게 되는 것을 확인하였다.
main : 배포를 위한 최종본
dev : 개발을 위한 브랜치
feat/팀원1 : 하나의 기능을 구현하는 브랜치 (fe)
feat/팀원2 : 하나의 기능을 구현하는 브랜치 (fe)
feat/팀원3 : 하나의 기능을 구현하는 브랜치 (fe)
feat/팀원4 : 하나의 기능을 구현하는 브랜치 (fe)
feat/be : 하나의 기능을 구현하는 브랜치 (be)
개인 별로 feat branch를 나누어, 아래와 같은 사이클을 반복하며 작업을 진행하기로 하였다.
1. feat/개인 branch를 개인 별로 하나씩 가진다.
2. feat/개인 branch에서 하나의 컴포넌트 구현이 끝날 때마다, dev로 Pull Request한다.
3. 프론트엔드 전체 팀원이 코드리뷰를 마치면, dev branch에 merge한다.
4. dev branch를 feat/개인 브랜치로 pull한 후, 작업을 재개한다.
This branch has conflicts that must be resolved
Conflicting files
README.md
기존에 프론트엔드 팀원이 함께 작업하던 feat/fe
브랜치에서 dev
브랜치로 Pull Request하던 중,
dev
브랜치에 이미 존재하던 README.md와 feat/fe
브랜치의 README.md의 내용이 달라 conflict가 발생하였다.
해당 문제는 다행히 Pull Request 페이지 하단에 있는 Resolve conflicts
로 쉽게 해결하였다!
This branch has conflicts that must be resolved
Conflicting files
README.md
백엔드 feature에서 dev 브랜치로 Pull Request하던 도중, 마찬가지로 README.md conflict가 발생하였다.
다만... Resolve conflicts
가 비활성화되어 있었을 뿐...
Tip: If the Resolve conflicts button is deactivated,
your pull request's merge conflict is too complex to resolve on GitHub.
You must resolve the merge conflict using an alternative Git client,
or by using Git on the command line.
Github Docs에서 찾아보니 해당 충돌이 웹에서 해결하기에는 너무 복잡하여 CLI에서 해결해야 한다는 것을 알아냈다.
그저 README.md 파일 내용이 다를 뿐인데, 뭐가 복잡하다는 건지...
백엔드 팀원분들이 README.md 파일 내용을 똑같게 수정도 해보고, 삭제도 해보시고 이것저것 다양한 시도를 하셨는데도 충돌이 해결되지 않으신 상태였다 ㅜㅜ
일단 번뜩 든 생각은 feat/be에서 dev 브랜치를 pull한 후, PR하면 해결되지 않을까? 싶어서 시도하였으나, dev에 merge했던 client 폴더만 추가되어 더 복잡해졌을 뿐... 전혀 해결되지 않았었다.
git reset --hard 커밋아이디 // 이전 커밋으로 되돌린다.
git push origin feat/be // 되돌린 커밋을 push한다.
확인해보니, 충돌은 root 폴더의 README.md에서 발생하였는데, server 폴더의 README.md를 수정하고 있었다는 것을 확인하였다!
Resolve conflicts
가 활성화되어 충돌을 해결하였다!그 전에 Resolve conflicts
버튼이 비활성화 되어있었던 건 아마 같은 파일안의 변동 사항은 웹에서 해결할 수 있지만,
없는 파일을 Github 웹 에디터에서 만들 수는 없었기 때문이 아닐까 싶다. 🤔
오늘 하루종일 에러를 너무 많이 봐서 혼란스러웠지만...🥲
그래도 이번 주에 봐서 다행이다 싶었다!
담에 또 같은 에러를 만났을 때 빠르게 해결할 수 있도록 에러일지 정리를 성실히 해야겠다👊