dolog
리팩토링을 위한 새로운 도약 : 저장소(repository) 파기 본문
서두
원래는 기존에 있던 repository에서 진행을 할까 했지만 깔끔하게 repository를 파기로 결심했습니다.
또한 repository를 새로 만들면서 버전 관리도 해볼까 했지만... 사실 버전 관리는 팀 프로젝트이기도 하고, 이미 한 번의 리팩토링과 추가적인 기능 개발이 진행되었기 때문에 공부하고 다른 프로젝트에 적용해볼까 합니다.
1. github에서 새로 repository를 만듭니다.
2. 그로우 스토리(Grow Story) 원본 repository에서 clone 합니다.(이때 필요하다면 --mirror, --bare 등 옵션을 추가하기)
git clone <그로우 스토리 주소>.git
3. clone한 폴더의 remote를 변경해줍니다.
- git remote -v로 먼저 origin이 어딘지 확인합니다.(거의 100% 기존 원격 repository url이지만 혹시 모를 실수를 방지하기 위해...)
git remote -v
- git remote set-url origin <새로만든 repository.git>로 remote를 변경해줍니다.
git remote set-url origin <새로만든 repository.git>
# git remote set-url 명령은 기존 원격 리포지토리 URL을 변경합니다.
- 다시 git remote -v로 잘 변경되었는지 확인합니다.
- 리팩토링을 하는 이유
- 최근에 추가한 기능(문의 채팅, 관리자 문의 목록, 게스트 모드...)의 구조나 불필요한 코드를 정리하기 위해서
- Google Lighthouse를 이용해서 최적화해야할 곳이 있다면 최적화 하기 위해서
- 함수가 로직이 말이 되는지 확인하고 고치기(예를 들어 어떤 행동이 실행이 된 후에 종료되어야 하는데 종료문을 먼저 적었다라든지...)
- 함수가 하나의 기능만 하는 것이 아니라면 하나의 기능만 할 수 있게 쪼개기
- 원하는 로직을 한 눈에 찾을 수 있게(어떻게 하면 그럴 수 있는지 좀 더 구체화하기)
- 하이드레이션(hydration) 이슈 해결 중 불필요한 리렌더링이 일어나는지 확인하고 있다면 해결하기
- 리팩토링을 해서 얻고 싶은 것
- 추상화가 필요한 때를 정확히 알고, 어떤 코드가 추상화인지 정확하게 말하기
- 해당 프로젝트 개발 기간때 나왔던 이슈들 해결
- 코드 구조와 디자인 패턴 공부, 그리고 다른 프로젝트에서 적용하기
- 이미지 최적화 기법 공부와 적용
참고
1. https://my-archiver.tistory.com/23
팀 프로젝트가 끝난 후, 해당 소스코드를 내 GitHub로 옮겨와서 이어가는 방법
팀 프로젝트의 repository(==repo라고 부른다.)를 나의 GitHub로 가져오고 싶었다. 소스코드가 다른 멤버의 깃허브에 있었고 가져와서 좀 더 develop하고 싶은 마음에 다른 멤버의 소스 코드에 영향을 주
my-archiver.tistory.com
2. https://www.whatwant.com/entry/bare-%EC%99%80-mirror%EC%9D%98-%EC%B0%A8%EC%9D%B4
git clone [bare/mirror] 에 대해서 알아보기
옛날 옛날 한 옛날에.... 잠시 궁금했던 git clone 옵션들... [ bare / mirror ] 한 번 테스트 해본다고 마음 먹은지 몇 년만에 갑자기 하고 싶다는 의욕이 불끈! ... 은 거짓말이고회사 업무 中 [ bare / mirror
www.whatwant.com
3. https://docs.github.com/ko/get-started/getting-started-with-git/managing-remote-repositories
원격 리포지토리 관리 - GitHub Docs
GitHub에서 호스트되는 컴퓨터 및 원격 리포지토리에서 로컬 리포지토리를 사용해 작업하는 방법을 알아봅니다.
docs.github.com
'톺아보기 > 그로우 스토리(Grow Story) 리팩토링' 카테고리의 다른 글
꽁꽁 얼어붙은 채팅 목록 위로 React-Query의 필요성이 지나갑니다... (0) | 2024.04.09 |
---|---|
Next.js에서 페이지 접근 권한 설정하기 (0) | 2024.04.05 |
실제 사용자 피드백 반영하기 (0) | 2024.03.29 |
관리자 모드(Admin mode) 리팩토링과 버그 발견 (0) | 2024.03.23 |
게스트 모드(Guest Mode) 리팩토링과 정규식 사용 (0) | 2024.03.20 |