[Git] 프로젝트에 자식 레파지토리 remote(github의 Repositories 부모 자식 나누기)

AnHyunDong·2022년 6월 29일
0

MLOps 프로젝트

목록 보기
7/18

개요

  • Client -> Django -> S3
  • .mp4 형식 이외의 파일을 보냈을 때, 파일을 S3에 저장해야됨

TroubleShooting

  • 레파지토리
    • Django를 부모 레파지토리를 했을 때, Platform 디렉토리도 같이 pull될 수 있음 > 메모리 남용
    • Jenkins에서 CI/CD할 때, 플랫폼의 내용을 변경할 때마다 계속 배포가 되는 모습이 확인됨
    • platform 디렉토리도 있어 백엔드 쪽에서 오류가 날 가능성도 있음

해결방안

  • 백엔드 디렉토리를 부모 레파지토리와 자식 레파지토리로 나눌 필요가 있음

Set up

  • git 프로그램 다운로드

  • 지금까지 했던 코드 github에 업로드

  • 초기 설정

    • git bash 실행
    • git init
      • git 저장소 초기화
    • git clone {부모 깃 URL}
      • 부모 git을 복제해옴
    • cd {클론 부모 디렉토리}
      • 클론한 부모 디렉토리로 이동
    • git remote add {등록할 이름} {git 자식 URL}
      - 부모 레파지토리에 자식 레파지토리 등록
    • git remote -v
      - remote가 추가 되었는지 확인
    • git subtree add --prefix= {부모 레파지토리에 저장할 자식 디렉토리명} {등록한 자식 remote 이름} {원격 브랜치 이름}
      • git subtree를 이용해 부모 레파지토리에 자식 레파지토리 remote
    • git push
      • 지금까지 했던 내용들 upload

  • 자식 레파지토리에 변경사항이 생겼을 경우(업데이트)
    • git bash 실행
    • git init
      • git 저장소 초기화
    • git subtree pull --prefix {부모 레파지토리에 저장할 자식 디렉토리명} {등록한 자식 remote 이름} {원격 브랜치 이름}
      • 부모 레파지토리의 remote된 자식 레파지토리 pull
    • git push
      • 업로드

결과

  • 부모 레파지토리 & 자식 레파지토리
    • Django 디렉토리를 들어가면 Spamdong의 레파지토리가 remote된 모습을 확인할 수 있음

URL

Walker

profile
사진은 남아 추억이 메모는 남아 스펙이 된다

0개의 댓글