programing

GitHub에서 GitLab으로 Git 저장소 포킹

muds 2023. 7. 15. 10:41
반응형

GitHub에서 GitLab으로 Git 저장소 포킹

제가 다른 사람의 프로젝트에 수정 사항을 구현하고 싶다고 가정해 보겠습니다.그 프로젝트는 깃허브에 있습니다.

GitHub에서 포크를 만들고 수정을 구현할 수 있습니다.

하지만 저는 GitHub보다는 GitLab에서 제 포크를 만들고 싶습니다.

그게 가능해요? 어떻게요?

저는 이 기사를 읽었습니다: https://about.gitlab.com/2016/12/01/how-to-keep-your-fork-up-to-date-with-its-origin/

어쨌든, 저는 제 경우에 어떻게 해야 할지 잘 모르겠습니다.

  • GitHub에서 프로젝트의 GitLab에 어떻게든 포크를 만들어야 하나요?
  • 아니면 GitHub에서 프로젝트의 GitLab에 거울을 만들어야 하나요?
  • 아니면 GitLab에 미러를 생성한 다음 미러를 포크해야 합니까?
  • 아니면 완전히 다른 것을 해야 할까요?

올바른 접근법은 무엇입니까?

감사해요.

갱신하다

GitLab의 저장소 미러링은 아마도 말이 되지 않을 것입니다.GitLab에서 MY GitHub 저장소의 미러를 만들 수 있지만 다른 사용자의 리포지토리 미러는 만들 수 없습니다.

https://docs.gitlab.com/ee/workflow/repository_mirroring.html

지금까지 제가 해온 일은 다음과 같습니다.

원래 GitHub 프로젝트를 로컬 컴퓨터에 복제했습니다.로컬 리포지토리의 새 분기에 수정을 커밋했습니다.GitLab에서 빈 프로젝트를 만들었습니다.저는 제 로컬 저장소에서 GitLab의 빈 프로젝트의 기원을 설정하고 두 지점을 GitLab으로 푸시했습니다.로컬 저장소의 업스트림을 GitHub 저장소로 설정했습니다.

원래 GitHub 저장소에서 GitLab의 저장소로 새 커밋을 가져오려면(즉, 저장소 동기화) 로컬 저장소를 중간 단계로 사용하여 이 작업을 수행할 수 있습니다.그러나 GitHub 대변인과 GitLab 대변인 사이에는 직접적인 연결이 없습니다.설정이 정확합니까?깃허브에서 포크를 만들면 차이가 있습니까?

변경 사항만 추적하려면 먼저 GitLab(또는 사용 중인 다른 저장소)에서 빈 저장소를 만들어 컴퓨터에 복제합니다.

그런 다음 GitHub 프로젝트를 다음과 같이 "업스트림" 원격으로 추가합니다.

git remote add upstream https://github.com/user/repo

이제 변경 사항이 있을 경우 업스트림에서 가져와서 풀 수 있습니다.(액세스 권한이 있는 경우 해당 항목을 밀어넣거나 병합할 수도 있습니다.)

git pull upstream master

마지막으로 자체 GitLab 저장소로 푸시백합니다.

git push origin master

업스트림/업스트림 오리진을 수동으로 풀하지 않으려는 경우 GitLab은 설정 => 리포지토리 => 미러링 리포지토리에서 미러링 기능을 제공합니다.

브라우저 전용 방법:

  1. Gitlab에서 새 프로젝트 생성(이름이 있는 빈 프로젝트만 가능)
  2. 설정으로 이동 -> 리포지토리로 이동합니다.
  3. '리포지토리 미러링' 아래에 GitHub URL 입력
  4. 'Mirror 방향'이 'Pull'인지 확인합니다.
  5. 'Mirror repository' 버튼을 누릅니다.
  6. 나타나는 항목 옆에 있는 동기화 아이콘을 누릅니다.

포킹 대신 웹 인터페이스만 사용하여 공개적으로 사용 가능한 GitHub 저장소를 가져올 수 있습니다.

  1. GitLab 대시보드에서 새 프로젝트를 클릭합니다.
  2. 프로젝트 가져오기 탭으로 전환
  3. Repo by URL 버튼을 클릭
  4. Git 저장소 URL 및 나머지 프로젝트 필드를 입력합니다.
  5. 프로젝트 만들기를 클릭하여 가져오기 프로세스를 시작합니다.
  6. 완료되면 새로 생성한 프로젝트로 리디렉션됩니다.

최근에 이 기술을 사용했으며 GitHub 계정이 없어도 모든 공용 저장소에서 작동합니다.정보 출처는 이 GitLab 문서 페이지를 참조하십시오.

개인 github 저장소를 포킹할 수 있습니다.

  1. 새 프로젝트 클릭
  2. 가져오기 선택
  3. github 선택
  4. gitlab 앱 인증 및 자동 생성에 사용되는 OAuth2
  5. 포크할 프로젝트 선택

이 작업은 방금 개인 레퓨전 허브를 사용하여 성공적으로 가져왔습니다(지점 등).가져온 프로젝트는 자동으로 비공개로 유지됩니다 ;)

언급URL : https://stackoverflow.com/questions/50973048/forking-git-repository-from-github-to-gitlab

반응형