다른 사람의 프로젝트에 대한 수정 사항을 구현하고 싶다고 가정합니다. 해당 프로젝트는 GitHub에 있습니다.
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에서 내 GitHub 저장소의 미러를 만들 수 있지만 다른 사람의 저장소 미러는 만들 수 없습니다.
https://docs.gitlab.com/ee/workflow/repository_mirroring.html
이것이 내가 지금까지 한 일입니다.
원래 GitHub 프로젝트를 로컬 컴퓨터에 복제했습니다. 내 로컬 저장소의 새 분기에 수정 사항을 커밋했습니다. GitLab에 빈 프로젝트를 만들었습니다. 내 로컬 저장소의 출처를 GitLab의 빈 프로젝트로 설정하고 두 분기를 GitLab에 푸시했습니다. 내 로컬 저장소에서 GitHub 저장소로 업스트림을 설정했습니다.
원래 GitHub 저장소에서 GitLab의 저장소로 새 커밋을 가져 오려면 (즉, 저장소 동기화) 로컬 저장소를 중간 단계로 사용하여이를 수행 할 수 있습니다. 그러나 GitHub의 리포지토리와 GitLab의 리포지토리간에 직접적인 연결은 없습니다. 내 설정이 정확합니까? GitHub에서 포크를 만들면 차이가 있나요?
답변
변경 사항을 추적하려는 경우 먼저 GitLab (또는 사용중인 다른 항목)에 빈 저장소를 만들고 컴퓨터에 복제합니다.
그런 다음 GitHub 프로젝트를 다음을 사용하여 ” upstream “원격 으로 추가합니다 .
git remote add upstream https://github.com/user/repo
이제 변경 사항이 있으면 업스트림에서 가져오고 가져올 수 있습니다. (액세스 권한이있는 경우 푸시하거나 병합 할 수도 있습니다.)
git pull upstream master
마지막으로 자신의 GitLab 저장소로 푸시 백합니다.
git push origin master
수동으로 업스트림 / 푸시 오리진을 가져 오지 않으려면 GitLab은 설정 => 저장소 => 미러링 저장소에서 미러링 기능을 제공합니다.
답변
브라우저 전용 방법 :
- Gitlab에서 새 프로젝트 만들기 (이름이있는 빈 프로젝트 만 괜찮습니다)
- 설정-> 저장소로 이동하십시오.
- ‘미러링 저장소’아래에 GitHub URL을 입력합니다.
- ‘미러 방향’이 ‘풀’인지 확인하십시오.
- ‘미러 저장소’버튼을 누릅니다.
- 나타나는 항목 옆에있는 동기화 아이콘을 누릅니다.
답변
비공개 github 저장소를 포크 할 수 있습니다.
- 새 프로젝트를 클릭
- 가져 오기 선택
- github 선택
- gitlab 앱 인증 및 자동 생성에 사용되는 OAuth2
- 포크 할 프로젝트 선택
^ 나는 github의 개인 저장소로 이것을 수행했으며 성공적으로 가져 왔습니다 (지점 포함). 가져온 프로젝트는 자동으로 비공개로 유지됩니다.)
답변
분기하는 대신 웹 인터페이스 만 사용하여 공개적으로 사용 가능한 GitHub 저장소를 가져올 수 있습니다.
- GitLab 대시 보드에서 새 프로젝트를 클릭하십시오.
- 가져 오기 프로젝트로 전환 탭으로
- URL로 Repo를 클릭하십시오. 버튼을
- “Git 저장소 URL”과 나머지 프로젝트 필드를 입력합니다.
- 프로젝트 만들기를 클릭 합니다. 하여 가져 오기 프로세스를 시작합니다.
- 완료되면 새로 생성 된 프로젝트로 리디렉션됩니다.
최근에이 기술을 사용했으며 GitHub 계정이 없어도 모든 공용 저장소에서 작동합니다. 정보 소스는 이 GitLab 문서 페이지를 참조하세요 .