깃 저장소를 복제하는 방법은?(포킹 미포함)
저는 두 개의 저장소를 가지고 있는데, 첫 번째 저장소와 액세스 레벨이 다른 하나의 빈 저장소에 전체를 복사해야 합니다.복사본과 마더 저장소를 함께 연결해서는 안 됩니다.
나는 깃이 처음인데 누군가 나를 도와줄 수 있다면 정말 멋질 것입니다.
https://help.github.com/articles/duplicating-a-repository 참조
짧은 버전:
정확한 복제를 수행하려면 베어 클론과 미러 푸시를 모두 수행해야 합니다.
mkdir foo; cd foo
# move to a scratch dir
git clone --bare https://github.com/exampleuser/old-repository.git
# Make a bare clone of the repository
cd old-repository.git
git push --mirror https://github.com/exampleuser/new-repository.git
# Mirror-push to the new repository
cd ..
rm -rf old-repository.git
# Remove our temporary local repository
참고: 위의 내용은 어떤 원격 깃레포에서도 잘 작동합니다. 지침은 깃허브에만 국한된 것이 아닙니다.
위에서 repo의 새 원격 복사본을 만듭니다.그런 다음 작업 중인 기계에 복제합니다.
깃카피를 사용할 수도 있습니다.
참고: 먼저 Ruby를 설치해야 합니다. 실행ruby -v
설치되어 있는지 확인합니다.그렇지 않은 경우:
: sudo apt install ruby
, Windows: Ruby Installer 사용, macOS: 홈브루 사용
이제 git-copy 설치
gem install git-copy
그럼 사용하시면 됩니다.
git copy https://github.com/exampleuser/old-repository.git https://github.com/exampleuser/new-repository.git
GitHub에 복사하는 경우 GitHub Importer를 사용하여 복사할 수 있습니다.원래 Repo는 다른 버전 제어 시스템에서 가져온 것일 수도 있습니다.
2021년 11월 업데이트
이제 github의 다른 VC에서 의 파일과 폴더를 쉽게 복사할 수 있습니다.
단계:
- 새 리포지토리 만들기
- 하단의 Import code 버튼 클릭
- 리포지토리의 복제본 URL을 붙여넣고 가져오기 시작을 클릭합니다.
가져오기가 성공적으로 완료되면 이메일로 알려드립니다.
기존 파일의 전부 또는 대부분을 사용하여(즉, 일종의 템플릿으로) 새 저장소를 만들고 싶다면 원하는 이름 등으로 새 저장소를 만들고 바탕 화면에 복제한 다음 원하는 파일과 폴더를 추가하는 것이 가장 쉬운 방법이라고 생각합니다.
모든 이력 등을 다 가지고 있는 것은 아니지만, 이런 경우에는 아마 원하지 않을 것입니다.
언제든지 Github에서 직접 할 수 있고, 제가 더 쉽게 생각합니다. 있는 새 리포지토리에는 다음과 같이 설정합니다.click on the Code on the top bar. At the buttom, pick the last opion which says (...or import code from another repository). You will be prompted to enter a clone link of the repository you wish to import your code from. Paste the clone link of your (Parent repository) and press import.
복제하고 작업해야 하는 저장소의 링크를 복사해야 합니다.(여기!)
Github 대시보드의 오른쪽 상단 모서리에 있는 +를 클릭하여 드롭다운에서 저장소 가져오기를 클릭합니다.(여기!)
첫 번째 입력 상자에 보고서 링크를 붙여넣고 새 리포지토리의 이름을 입력해야 하는 가져오기 페이지로 리디렉션됩니다.[시작]을 누릅니다.(여기!)
그러면 Repo를 복제/가져오는 다른 페이지로 다시 이동합니다.이렇게 될 겁니다.
가져오기가 완료되면 메일을 보내거나 아래 링크를 클릭하여 새 레포를 열 수 있습니다.
레포 작업을 계속할 수 있고 키보드에서 '.'를 클릭하여 깃허브 개발자를 활성화한 후 편집을 계속할 수 있습니다.(여기!)
이것이 당신의 질문에 대한 답이 되기를 바랍니다.
똥멍크
보다 쉽고 초보자 친화적인 옵션:저장소 복제를 위해 명령줄과 터미널을 사용하지 않으려면 다음 작업을 수행합니다.
- 모든 리포지토리를 표시하는 github 페이지(https://github.com/your-account-name?tab=repositories) 로 이동합니다.
- 새 리포지토리를 만들려면 "새로 만들기" 단추를 누릅니다.
- "리포지토리 템플릿" 단추 "템플릿 없음"을 누릅니다.템플릿으로 구성된 현재 리포지토리 목록을 제공합니다.
- 복제할 리포지토리를 선택합니다.*
- 리포지토리 만들기를 마칩니다.
- 3단계의 목록에서 복제할 저장소를 사용할 수 없는 경우, 저장소를 템플릿으로 구성해야 합니다."repository page" > Settings > "template repository" 확인란으로 이동합니다.
깃허브 GUI를 이용한 간편한 방법선택한 리포지토리를 클릭하고 설정 내에서 템플릿 리포지토리를 선택합니다.기본 리포지토리로 다시 이동할 때.그런 다음 직접 복사본을 만들 수 있습니다.
여기에 있는 다른 답변 중 일부는 베어 클론을 사용한 다음 새 저장소로 미러 푸시하는 것을 확인했습니다. 하지만 이 방법은 저에게 효과가 없으며 그 후 새 저장소를 열면 파일이 뒤섞여 보이고 예상대로 되지 않습니다.
여기에는 원래 저장소의 수정 기록을 보존하지는 않지만 파일을 복사하는 데 확실히 효과적인 솔루션이 있습니다.
git clone
로컬 컴퓨터에 저장할 수 있습니다.cd
트한음다로다음o한트로를(를 실행합니다.rm -rf .git
커밋 히스토리 등을 포함한 모든 오래된 git 메타데이터를 제거합니다.- 를 실행하여 새 깃 저장소 초기화
git init
. - 달려.
git add . ; git commit -am "Initial commit"
- 물론 당신이 원하는 대로 커밋을 할 수 있습니다. - 오리진을 새 리포지토리로 설정
git remote add origin https://github.com/user/repo-name
(url을 새 저장소의 url로 바꿉니다.) - 다음을 통해 새 저장소로 푸시
git push origin master
.
전체 단계:
mkdir my-repo
cd my-repo
git clone <repo> .
rm -rf .git
git add . ; git commit -am "Initial commit"
git remote add origin https://github.com/user/repo-name
git push origin master
공용 또는 개인 저장소에 대해 원본을 다시 쓸 필요 없이 명령줄에서 안전한 버전입니다.
github에 새 저장소 만들기(예: "my-repo-copy")
# Run the command
git clone https://github.com/myprofil/my-repo-copy.git
# The url can be found on the repository, click the button code and https.
# You now have a empty folder my-repo-copy.
# Inside the folder my-repo-copy, run:
git clone https://github.com/myprofil/my-repo-original.git
# You now have a folder my-repo-original, go inside and copy all files/folders except .git
# Go in the folder my-repo-copy and paste, delete the folder my-repo-original
# Run
git add .
git commit -m "clone my-repo-original"
git push origin main
# If you'r branch name is main and you want to be master, after the commit, run
git checkout -b master
git push origin master
터미널을 엽니다.
리포지토리의 베어 클론을 만듭니다.
git clone --git https://github.com/exampleuser/old-repository.git
Mirror-push to the new repository.
cd 오래된 저장소.git
git push --mirror https://github.com/exampleuser/new-repository.git
언급URL : https://stackoverflow.com/questions/6613166/how-to-duplicate-a-git-repository-without-forking
'programing' 카테고리의 다른 글
요구사항을 사용하는 방법JS와 jQuery가 같이? (0) | 2023.09.18 |
---|---|
Node.js 0.12에서 사용 가능한 ECMAscript 6 기능 (0) | 2023.09.18 |
Excel에서 동일한 행에 중복을 정렬하는 방법 (0) | 2023.09.18 |
페이지 로드가 완료되었는지 여부 감지 (0) | 2023.09.18 |
jQuery mobile $문서.즉시 동등한 (0) | 2023.09.18 |