안녕하세요
리포지토리 잔디 남기고 삭제하기 본문
선요약
1. 냉장고 준비
>>> git clone https://github.com/youngentry/youngentry-study-more.git
2. 냉장고 문 열기
>>> cd youngentry-study-more
3. 반찬 냉장고에 옮기기
>>> git subtree add --prefix=redux_text https://github.com/youngentry/redux_text.git main
4. 식자재장부 업데이트
>>> git push origin main
5. 기존 반찬통 버리기
git clone https://github.com/youngentry/youngentry-study-more.git
cd youngentry-study-more
git subtree add --prefix=redux_text https://github.com/youngentry/redux_text.git main
git push origin main
진행 결과
Before
After
달라진 점
리포지토리를 삭제한 뒤에도 잔디가 남아있지만, 총 커밋 횟수가 변한다.
이유는 잘 모르겠음... 자주 유지되지만 몇번에 한 번씩 줄어들었다.
규칙은 있는 것 같지만 나는 커밋 수에 연연하지 않기 때문에 관심이 없어 알아보지 않았다.
=> 아마도 특정 브랜치의 커밋만을 가져오기 때문인 듯 하다. 필요하다면 모두 가져오면 될 듯.
방법
1. 담을 리포지토리를 준비한다.
2. 담을 리포지토리를 vscode에서 열어 클론한다.
gather 폴더를 만들고 vscode로 열어서 클론을 한 뒤에, cd로 담을 리포지토리 안으로 이동했다.
git clone https://github.com/youngentry/youngentry-study-more.git
>> cd youngentry-study-more
3. 리포지토리를 가져오기 위한 명령어를 이해한다.(그냥 똑같이 따라한다)
git subtree add --prefix=생성할폴더이름 삭제할리포지토리주소 삭제할리포지토리의브랜치
redux_text 리포지토리를 삭제해보겠습니다.
삭제할리포지토리주소 를 복사합니다. (https://github.com/youngentry/redux_text.git)
명령어 예시입니다.
git subtree add --prefix=redux_text https://github.com/youngentry/redux_text.git main
git subtree add --prefix=생성할폴더이름 삭제할리포지토리주소 삭제할리포지토리의브랜치
=> 생성할폴더이름 아무거나 입력하면 되지만 저는 리포지토리 이름으로 했습니다.
=> 삭제할리포지토리주소 에는 복사한 삭제할리포지토리주소 붙여넣습니다.
=> main은 redux_text 리포지토리에서 복사할 브랜치가 main이어서 main이라 적었습니다.
문제 없이 되면
이런 메시지 뜹니다.
명령어로 push 해줍니다. 저는 github desktop 써서 git 명령어 잘 모릅니다.
git push origin main 하면 되지 않을까요.
이제 폴더의 내용이 복사된 채로 리포지토리에 생성되었을 것입니다.
이제 리포지토리 삭제합니다.
삭제 했습니다.
결과