git repository 병합

mynoseis3·2023년 12월 25일
0

memo

목록 보기
4/17
post-thumbnail

깃허브에 리포지토리가 많아져서 보기에 뭔가 난잡해보였다.
좀 더 깔끔하게 정리하면 좋을 것 같다는 생각이 들어
리포지토리를 합치는 방법에 대해 알아 보고
시도해보았다.

예를 들어 기존 리포지토리 a에 b를 합치는 방법도 있으나
지금은 새로운 c라는 저장소에 a,b를 넣는 연습을 해보았다.

🐤 1. 새 리포지토리 준비

  • 로컬에 새폴더 생성하기
  • github에 리포지토리 생성
  • 로컬 폴더에서 git bash 열기
  • git clone 리포지토리주소
  • cd로 이동

🐤 2. 리포지토리 병합

나는 하위 폴더를 생성했다.
예를 들어 인프런 강의를 들으며 작업한 것은 inflearn 폴더에,
실기 공부한 파일들은 Exam 폴더에 넣는 등
카테고리별로 기존 리포지토리들을 폴더에 들어가게 하였다.

  • mkdir 디렉토리명 - > 카테고리할 폴더들 생성
  • git subtree add --prefix=폴더명/기존리포지토리명 기존리포지토리주소 기존리포브랜치명
  • git push -u 원격지명 브랜치명

푸시 후 github와 로그를 확인해보면
기존 기록이 유지된 채로 잘 합쳐진 걸 확인할 수 있었다.

확인 후에 기존에 흩어져 있던 리포지토리들은 삭제해주니 깔끔해졌다 !
얏호 🐥

📌 ++ subtree 할 때 마지막에 -m"메세지" 넣어주면 그 길다란 커밋메세지보다 깔끔해진다 !

📌 ++ subtree 중에 working tree has modifications 오류가 뜨면
메인 repo가 현재 최신버전이 아니기 때문이므로
git status로 확인하고 현재 폴더가 최신버전이 되도록 푸시하면 해결!!

🐤 결과

원래는 각 프로젝트마다 따로 되어 있던 것을 한 저장소로 합체했다.
한 리포지토리 안에 하위 폴더 안에 병합한 리포지토리들이 들어가있고
커스텀메세지를 따로 작성했을 때랑 안 했을 때의 차이점도 확인할 수 있다.

근데 한 가지 문제는 ....
각 프로젝트 readme에 넣었던 캡쳐 이미지들이 전부 404 에러가 떴다... 왜요 왜요 !

구글 검색 후 나와 비슷한 케이스가 없어서 gpt 에게 궁금증 요청

그렇다면 나의 경우에는 readme에 넣었던 이미지 파일의 상대경로를
재지정해주거나 다시 업로드해주어야 되는 것 같다.

하지만 이미 손실된 경로를 알기가 어려워서 다시 캡쳐본들을 넣어주고 해결했다.

뭔가 이 방법으로는 병합할 때 조심해야될 부분들이 있는 것 같다.

다음엔 기존 레파지토리에 서브트리를 추가하는 방법으로 접근해보자요 !!! 빳팅 🐥

profile
웹개발자 꿈나무 꾸준함의 힘을 믿습니다 🚶

0개의 댓글