이번에 매칭 웹을 만들면서 깃허브로 단순 백업이 아니라 진짜 프로젝트를 진행하는 방식대로 처음 도전해 봤다. 그래서 아직 익숙하진 않지만 몇 가지 주요 기능들을 정리해 볼 겸 쓰는 중...
인텔리제이를 이용하면, 웬만한 기능들은 상단바 탭에서 사용할 수 있다.
먼저 현재 내 프로젝트와 깃허브를 연동시켜준다.
그럼 상단바에 Git 탭이 생기면서 여기서 commit, push 등을 할 수 있다.

깃허브로 해당 프로젝트 레포지토리에 들어가서 Project를 선택하면 할 일 목록을 정리할 수 있다. New project -> Board 형식으로 생성하는 것이 보기 편한 것 같아 그걸로 선택하였다.

지금은 다 끝난 상태인데, 작업할 때는 Todo에서 Add item을 통해 구현할 기능 이름으로 생성하였다.

생성한 것을 보면 Convert to issue가 있다. 이걸 누르면 해당 이름으로 이슈를 생성할 수 있다.
현재 상태로는 클릭해도 반응이 없는... 그냥 상태만 확인하는 용인 것 같았다. 그래서 Project 탭에서는 할 일 목록을 한눈에 보도록 하고, 해당 기능의 commit 같은 자세한 상황은 이슈를 생성해서 봐야 되는 것 같다.

이슈에서 해당 기능에 대한 진행상황을 자세히 볼 수 있는데, 여기서 우측의 Development를 누르면 이에 대한 브랜치를 생성할 수 있다.

보통 프로젝트는 다음과 같은 순서로 한다.
master (서버 배포용, 완전 마지막에 확인되면 합침)
develop (각 기능 구현 완료되면 여기로 합침 -> 나중에 최종적으로 얘를 master로 보내서 합침)
그 외 각 기능들은 따로 브랜치 만들어서 완성되면 develop으로 보냄
나도 이번엔 이 방식을 체험해 볼 겸 이슈를 생성할 때마다 해당 이름으로 브랜치를 만들어서 작업하고, 완성되면 develop으로 Pull requests를 보냈다.
해당 탭에서 요청들을 확인할 수 있으며, 여기서 충돌이 없으면 merge가 가능하다. 충돌이 있을 경우엔 pull 해서 충돌을 다 해결한 후에 다시 요청해야 한다. 나는 이번에 협력한게 아니고 혼자 작업한거라 따로 충돌은 없었지만... 깃허브에 올라간 코드랑 내 로컬 코드랑 다른 부분이 있는 상태에서 작업하고 요청 보내면 충돌이 일어난다. 따라서 맨 처음에 작업하기 전에 미리 pull해서 최신 버전을 받은 후에 거기서 작업하고 요청을 보내야 하는 것 같다.

그럼 pull해서 받아올 경우, 내가 추가했던 코드는 날아가는 게 아닌지 걱정되었었는데, 인텔리제이 기준으로는 pull 할 시 내가 쓰고 있던 코드 탭이랑 pull 했을 때 충돌난 그전 버전 코드 탭이 동시에 띄워져서 바로 확인하고 수정할 수 있었다. (역시 다 방법이 있는 모양이다..........)
아무튼 인텔리제이에서는 아래 탭에서 브랜치를 선택해서 이동할 수 있다.

바로 반영이 안 되면, 콘솔창에서 터미널 -> git Bash에서 직접 checkout 등으로 브랜치를 이동할 수도 있다. 그럼 상단 탭에도 바로 반영이 됐었다.
이렇게 각 기능 브랜치에서 작업을 완료하고, 해당 사항을 저장(commit)한다. 인텔리제이에서 commit 버튼을 누르면 자동으로 수정된 파일들이 나타나면서 커밋 메시지를 작성할 수 있다.
commit 후에 push를 하면 동시에 충돌 검사를 하게 된다... 무사히 되면 다행인 것이다. (안되면 pull ㄱ)
push까지 하면 자동으로 pull request 할 건지 알림 메시지가 뜨는데, 클릭하면 바로 깃허브 탭에서 확인할 수 있다. 혼자 작업하는 거라서 내가 요청 보내고 내가 수락하고 합치고 참 재밌었다 (...)
아무튼 pull requests로 develop으로 보내고 나면 해당 이슈는 종료하면 된다. 그럼 프로젝트 탭에서도 자동으로 완료 목록으로 이동하게 된다.
.
.
.
여기까지 하면 대략적인 흐름 정리는 끝!!
사실 뭐 더 캡처해서 올리고 싶어도 이미 다 끝난 항목이라 좀...
그리고 처음 해봐서 그런지 아직 이슈 정리 능력이 부족한 것 같다. 기능마다 이슈를 만들고 관리해야 한다는 걸 알면서도 자꾸 까먹고 인텔리제이에서 계속 작업하고 있었다...
그래도 코드를 작업하다가 갑자기 엔티티나 데이터베이스 등 중요한 거를 수정해야 할 때, 잘못하면 어떻게 되돌아가지? 싶어서 그냥 코드 전체를 그대로 파일로 끌어다 깃허브에 백업하는 식으로 해왔었는데, 이렇게 브랜치를 따로 파니까 더 안전한 것 같았다. 이러면 망해도 그냥 해당 브랜치는 버리고 그전 브랜치로 돌아가면 되지 싶었다...
또 혼자 해서 이렇지 조만간 졸업작품............. 진행해야 되는데 그땐 이렇게 하는 게 훨씬 좋은 것 같다. 미리 공부해 봤으니 뭐... 지금은 처음이라 잘 모르겠지만 하다 보면 완전 빠르게 슉슉 잘 정리할 수 있지 않을까?!

제발 그러기를,,,,,
아무튼 이번 프로젝트는 정말로,,, 쉬어가는 느낌 + 덕질 목적으로 재미 삼아 만든 거였는데 생각보다 공부한 게 되게 많았다. 엔티티 연관관계 설계부터 ERD 추출 방법, api 통신 방식, 비공개 레포지토리 배포, 깃허브 프로젝트 관리까지... 와 은근 뿌듯하네요
그럼 진짜 이번 프로젝트는 여기서 끝~!!!
'🌟Project > charMatch - 매칭 테스트 웹' 카테고리의 다른 글
| [토이프로젝트 개발일지 01] 캐릭터 매칭 테스트 웹 (0) | 2025.01.21 |
|---|