programing

GitHub에서 자신의 저장소를 어떻게 포크합니까?

css3 2023. 6. 29. 20:21

GitHub에서 자신의 저장소를 어떻게 포크합니까?

GitHub에 공용 저장소가 있습니다.복제/복사하여 이 리포지토리를 기반으로 새 프로젝트를 수행하고 싶지만 현재 상태에 영향을 주고 싶지 않습니다.GitHub UI를 사용하여 포크를 시도했지만 아무 것도 하지 않았습니다.

저는 당신이 당신의 책임을 질 수 있다고 생각하지 않습니다.
복제하여 새 레포에 푸시하는 것이 좋지만 다음 작업을 수행해야 합니다.

git clone https://github.com/userName/Repo New_Repo
cd New_Repo
git remote set-url origin https://github.com/userName/New_Repo
git remote add upstream https://github.com/userName/Repo
git push origin master
git push --all

( 참조).

"Fork your own project on GitHub"에 설명된 모든 프로세스를 참조하십시오.


6년 후(2016년), 이제 다른 소스에서 레포를 가져올 수 있는 GitHub 수입업체가 있습니다.깃허브를 포함해서요.
GitHub 임포터를 사용하여 리포지토리 가져오기를 참조하십시오.

https://help.github.com/assets/images/help/importer/import-repository.png

narf답변(투표 완료)도 그 과정을 보여줍니다.

그러면 새 리포지토리를 만들고 GitHub URL을 사용하여 이전 리포지토리의 전체 내역을 새 리포지토리로 가져올 수 있습니다.

다시 말씀드리지만, 실제 포크가 아닌 복사본을 얻을 수 있습니다. 새 레포에서 이전 레포로 끌어오기 요청을 할 수 없습니다.

다시 (bis), 의 코멘트에 명시된 것처럼 이것은 TRUE FORK가 아닙니다.

만약 제가 다른 사람들이 포크를 사용하고 PR을 할 수 있는 오픈 소스 프로젝트의 표준 소스 레포인 푸가 있다면, 저는 그 레포에서 일하고 싶지 않습니다. 제 프로젝트에 대해 적절한 PR을 발행하는 데 사용할 수 있는 포크를 원합니다.
GitHub에 두 번째 계정을 만들고 이를 위해 노력하여 이 문제를 해결했습니다.

GitHub 웹 사이트에서 30초 만에 매우 간편한 방법:

  1. 담당자의 URL을 복사합니다. 예:https://github.com/YourName/YourOldRepo(힌트: 당신이 github에서 당신의 repo 메인 페이지를 볼 때의 URL입니다.
  2. 다음을 클릭합니다.+아이콘을 클릭합니다.
    https://i.stack.imgur.com/9zJgo.png
  3. 리포지토리 가져오기를 선택합니다.
  4. URL"을 가 나타나면 #1"module URL"에서.
    https://i.stack.imgur.com/vgWd3.png
  5. 한 후 "" "" " " " " 를 클릭합니다.Begin Import.
  6. 바로 그거야!이제 모든 커밋 기록과 분기가 포함된 전체 레포 사본을 갖게 되었습니다!

제한 사항:실제 포크는 아닙니다.레포의 사본입니다.꺼내기 요청을 앞뒤로 수행할 수 없습니다.

이제 기본 리포지토리를 템플릿으로 표시할 수 있습니다(설정에서 템플릿 리포지토리로 표시). 리포지토리의 기본 페이지에서 이 템플릿을 사용하여 두 번째 리포지토리를 만들 수 있습니다.

템플릿에서 리포지토리를 만드는 것은 리포지토리를 포킹하는 것과 비슷하지만 다음과 같은 중요한[1] 차이점이 있습니다.

  • 새 포크는 상위 리포지토리의 전체 커밋 기록을 포함하고 템플릿에서 만들어진 리포지토리는 단일 [1]커밋으로 시작합니다.
  • 포크에 대한 커밋은 기여 그래프에 표시되지 않지만 템플릿에서 생성된 리포지토리에 대한 커밋은 기여 [1]그래프에 표시됩니다.
  • 포크는 템플릿에서 리포지토리를 만드는 동안 기존 프로젝트에 코드를 제공하는 임시 방법이 될 수 있습니다.[1]

Github 도움말: 템플릿 저장소 만들기 템플릿에서 리포지토리 만들기

  1. git clone https://github.com/YOURREPO.git TargetRepoName
  2. cd TargetRepoName/
  3. git remote set-url origin https://github.com/TargetRepoName.git
  4. git push -u 오리진 마스터

자신의 보고서를 동일한 계정으로 분기할 수는 없지만, 자체 소유 조직 계정으로 만들 수 있으며, '+' 버튼을 통해 무료로 쉽게 만들 수 있습니다.

이 옵션의 주요 이점은 새 레포가 단순한 클론이 아닌 원래 레포의 실제 포크라는 것입니다.즉, 예를 들어 원래 레포의 변경 내용을 새 레포로 업데이트할 수 있습니다(복제된 레포의 경우는 그렇지 않습니다).

제가 볼 수 있는 유일한 단점은 분기된 레포가 사용자 프로필 아래에 나타나지 않고 조직 1 아래에 표시된다는 것입니다.

원하는 효과를 얻을 수 있는 가장 간단한 방법은 새 리포지토리를 만든 다음 가져오기 옵션을 선택하고 포크할 리포지토리의 URL을 제공하는 것입니다.

아래 이미지가 도움이 됩니다.

포크 자체 레포비아 가져오기-

수입-2를 통한 포크 자체 레포

복제하고 새 빈 레포를 생성한 후 푸시하기만 하면 됩니다.

저는 "리포지토리 복제"에 대한 공식 지침을 따랐고 효과가 있는 것 같았습니다.

https://help.github.com/articles/duplicating-a-repository/

포킹 없이 리포지토리의 복제본을 생성하려면 원래 리포지토리에 대해 특수 복제 명령을 실행하고 새 리포지토리에 미러 푸시해야 합니다.이것은 GitHub에서 호스팅되는 저장소뿐만 아니라 모든 Git 저장소에서 작동합니다.

불행하게도 VonC의 수용된 해결책은 제가 얻었기 때문에 저에게 효과가 없었습니다.

원격: 리포지토리를 찾을 수 없습니다.

효과가 있었던 것은 다음과 같습니다.

  1. new_repoat github 생성
  2. git clone new_repo
  3. cd new_repo
  4. git remote upstream old_repo.git 추가
  5. git pull 업스트림 마스터
  6. git 푸시 오리진 마스터

여기서 위의 모든 을 얻었습니다.

GitHub을 사용하는 비기술 전문가를 위해 위의 다른 훌륭한 답변에 대한 대안으로 간단한 해결책이 있습니다.필요한 것은 GitHub Desktop 애플리케이션입니다.

  1. 브라우저에서 자신의 프로젝트 레포를 열고 zip으로 다운로드합니다.your-project-master.zip.
  2. 압축을 풀고 새 레포로 이름을 변경합니다.
  3. GitHub Desktop을 열고 압축 해제된 로컬 경로 new repo를 찾아 새 repo를 추가합니다.enter image description here
  4. 게시 단추를 클릭하여 Github에 게시합니다.이름과 설명을 추가하는 것을 잊지 마세요 :)

단계별로

먼저 액세스 토큰을 생성해야 합니다.

enter image description here

enter image description here

enter image description here

enter image description here

그러면:

기존 리포지토리 가져오기

enter image description here

여기:

새 리포지토리의 이름 입력

enter image description here

이제 중요한 단계는

암호 블록에 생성한 액세스 토큰을 입력해야 합니다.

enter image description here

방금 이것을 시도해 봤는데 효과가 있었습니다.

  1. 레포를 조직 계정으로 전환
  2. 이름 바꾸기
  3. 소유권을 자신에게 다시 이전

새 repo를 생성할 때 repo.git url을 사용하여 다른 repo에서 가져올 수 있습니다.30초가 걸렸습니다.

  1. 허브 웹프론트엔드를 사용하여 새 빈 평판 만들기
  2. 이전 repo의 복제본에서 원격을 교체하고 다음을 누릅니다.
git remote remove origin
git remote add origin git@github.com:account/new.git
git branch -M main
git push -u origin main

이는 @mcepl의 답변과 @wadesworld의 의견을 결합한 것으로, github에 새 리포지토리를 만들 때 표시되는 공식 솔루션과 매우 유사합니다("…또는 명령줄에서 기존 리포지토리 밀어넣기" 제목 아래).

언급URL : https://stackoverflow.com/questions/10963878/how-do-you-fork-your-own-repository-on-github