Development Tip

기존 저장소에서 새 git 저장소를 만드는 방법

yourdevel 2020. 11. 11. 20:44
반응형

기존 저장소에서 새 git 저장소를 만드는 방법


다른 이전 SCM에 있던 모든 것을 실제로 대체 한 원격 git 저장소가 있습니다. 수년에 걸쳐 많은 프로젝트와 제품이 저장소에 추가되었습니다.

이 저장소에는 내가 관심있는 제품에 해당하는 브랜치가 있습니다.이 브랜치에서만 새로운 git 저장소를 만들고 싶습니다. 히스토리 손실에 대해서는 걱정하지 않습니다.

git remote가 솔루션을 추가합니까? 이 두 저장소가 동일한 서버에 있기를 원합니다.

생각?


기존 저장소에서 새 Git 저장소를 만들려면 일반적으로 새 베어 저장소를 만들고 하나 이상의 브랜치를 기존 저장소에서 새 저장소로 푸시합니다.

다음 단계는이를 설명합니다.

  1. 새 저장소를 만듭니다. 당신이 그것을 밀기 위해서는 그것은 맨손 이어야 합니다.

    $ mkdir /path/to/new_repo
    $ cd /path/to/new_repo
    $ git --bare init

    참고 : 기존 저장소에서 새 저장소에 액세스 할 수 있는지 확인하십시오. 이를 수행하는 방법에는 여러 가지가 있습니다. 을 통해 액세스 할 수 있도록 만들었다 고 가정하겠습니다 ssh://my_host/new_repo.

  2. 기존 저장소에서 브랜치를 푸시합니다. 예를 들어 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

반응형