기존 저장소에서 새 git 저장소를 만드는 방법
다른 이전 SCM에 있던 모든 것을 실제로 대체 한 원격 git 저장소가 있습니다. 수년에 걸쳐 많은 프로젝트와 제품이 저장소에 추가되었습니다.
이 저장소에는 내가 관심있는 제품에 해당하는 브랜치가 있습니다.이 브랜치에서만 새로운 git 저장소를 만들고 싶습니다. 히스토리 손실에 대해서는 걱정하지 않습니다.
git remote가 솔루션을 추가합니까? 이 두 저장소가 동일한 서버에 있기를 원합니다.
생각?
기존 저장소에서 새 Git 저장소를 만들려면 일반적으로 새 베어 저장소를 만들고 하나 이상의 브랜치를 기존 저장소에서 새 저장소로 푸시합니다.
다음 단계는이를 설명합니다.
새 저장소를 만듭니다. 당신이 그것을 밀기 위해서는 그것은 맨손 이어야 합니다.
$ mkdir /path/to/new_repo $ cd /path/to/new_repo $ git --bare init
참고 : 기존 저장소에서 새 저장소에 액세스 할 수 있는지 확인하십시오. 이를 수행하는 방법에는 여러 가지가 있습니다. 을 통해 액세스 할 수 있도록 만들었다 고 가정하겠습니다
ssh://my_host/new_repo
.기존 저장소에서 브랜치를 푸시합니다. 예를 들어
topic1
기존 저장소에서 브랜치를 푸시master
하고 새 저장소에서 이름을 지정 한다고 가정 해 보겠습니다 .$ cd /path/to/existing_repo $ git push ssh://my_host/new_repo +topic1:master
이 기술을 사용하면 기존 분기의 기록을 유지할 수 있습니다.
참고 : 새 저장소는 사실상 새 원격 저장소입니다. 새 저장소로 작업하려면 복제해야합니다. 다음은 새 저장소를라는 로컬 작업 디렉토리에 복제합니다 new_repo
.
$ git clone ssh://my_host/new_repo
이 예에서 새 저장소를 복제하면 master
분기가 topic1
이전 저장소 의 분기 복사본임을 알 수 있습니다.
평소와 같이 브랜치를 풀다운 한 다음을 사용하여 만든 새 저장소로 브랜치를 푸시합니다 git init
. 다음과 같은 코드를 사용합니다.
git push url:///new/repo.git TheBranchFolder
이 방법은 상황에 도움이되는 경우 이전 변경 사항을 모두 유지합니다.
기록을 잃어 버릴 염려가 없다면 a를 수행 한 git checkout mybranch
다음 디렉토리 내용을 다른 폴더로 복사하십시오. 해당 폴더 내에서 .git 폴더를 삭제하고 다음을 수행하십시오.
git init; git commit -a -m "Imported from project Y"
참고 URL : https://stackoverflow.com/questions/9844082/how-to-create-a-new-git-repository-from-an-existing-one
'Development Tip' 카테고리의 다른 글
TCP 클라이언트 연결 끊김 감지 (0) | 2020.11.11 |
---|---|
타임 라인 시각화를위한 SIMILE Timeline의 대안? (0) | 2020.11.11 |
로컬 파일의 존재를 어떻게 확인합니까? (0) | 2020.11.11 |
scipy 버전을 확인하는 방법 (0) | 2020.11.11 |
밀리 초 정밀도의 타임 스탬프 : MySQL에 저장하는 방법 (0) | 2020.11.11 |