dolog

리팩토링을 위한 새로운 도약 : 저장소(repository) 파기 본문

톺아보기/그로우 스토리(Grow Story) 리팩토링

리팩토링을 위한 새로운 도약 : 저장소(repository) 파기

dokite 2024. 3. 18. 23:08

서두

원래는 기존에 있던 repository에서 진행을 할까 했지만 깔끔하게 repository를 파기로 결심했습니다.

또한 repository를 새로 만들면서 버전 관리도 해볼까 했지만... 사실 버전 관리는 팀 프로젝트이기도 하고, 이미 한 번의 리팩토링과 추가적인 기능 개발이 진행되었기 때문에 공부하고 다른 프로젝트에 적용해볼까 합니다.

 

1. github에서 새로 repository를 만듭니다.

리팩토링을 위한 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