GitLab에서 GitHub로 Git 저장소 전송 - 가능한 방법 및 함정(있는 경우)?
필요한 경우 GitLab에서 GitHub로 리포지토리를 전송할 수 있습니다.그렇다면 어떻게 하면 정확히 같은 일을 할 수 있을까요?
또한 GitHub(현재는 프로젝트에 유용한 기능이 더 많기 때문에)로 이동하기로 결정할 수 있기 때문에 이 작업을 수행하기 전에 미리 염두에 두어야 할 위험이나 예방 조치가 있습니까?
이러한 파일을 전송할 수 있습니다(단순히 GitHub 레포에 리모컨을 추가하고 푸시하기만 하면 됩니다).
- GitHub에 빈 평판 생성
git remote add github https://yourLogin@github.com/yourLogin/yourRepoName.git
git push --mirror github
역사는 동일할 것입니다.
그러나 액세스 제어 기능(Repo에 특정 액세스 권한이 있는 GitLab에 정의된 팀)을 잃게 됩니다.
GitHub repo의 https URL에 문제가 발생하는 경우:
The requested URL returned an error: 403
GitHub 암호를 입력하기만 하면 되지만 OP는 다음을 제안합니다.
그렇다면 당신은 그것을 ssh 방식으로 밀어야 할 것입니다.자세한 내용은 여기를 참조하십시오.
"Pushing to Git return Error Code 403 fatal: HTTP request failed"를 참조하십시오.
또한 GitLab은 미러를 다운스트림 저장소로 푸시하도록 설정할 수 있으며, GitHub에 푸시 미러링을 위한 구체적인 지침이 있습니다.
GitHub 개인 액세스 토큰을 사용할 수 있으며 주기적으로 푸시하도록 설정할 수도 있습니다.
이 옵션을 사용하여 GitHub에서 공유하되 GitLab 인스턴스에서 기본 개발 활동을 유지할 수 있습니다.
하여 이슈, 수 .
github.com/piceaTech/node-gitlab-2-github
테스트해 봤어요, 나쁘지 않아요.
그러나 이슈 자체의 첨부 파일을 전송할 때 문제가 있었습니다.
아직 시도해 볼 가치가 있습니다.
리포지토리 가져오기 기능을 사용하면 매우 간단합니다.
로그인 위치github.com
,
당신이 찾을 프로필 사진의 측면.+
하면 "▁to다니표됩시▁button▁on▁click▁will▁be▁option▁that▁then▁thereimport repository
:
다음과 같은 페이지를 찾을 수 있습니다.
이전 리포지토리의 복제본 URL이 필요합니다. 이 URL은 gitlab repour입니다.
그런 다음 Owner를 선택한 다음 이 보고서의 이름을 입력하고 Import 버튼을 클릭하여 시작합니다.
Wiki와 모든 이슈 및 마일스톤을 포함한 리포를 마이그레이션하려면 node-gitlab-2-github 및 GitLab을 사용하여 GitHub으로 마이그레이션할 수 있습니다.
모든 기록을 보존하면서 Gitlab에서 Github로 저장소를 전송하는 더 간단한 방법을 여전히 찾고 있는 사람들을 위한 것입니다.
1단계. Github에 로그인하고 전송할 repo와 정확하게 동일한 이름의 개인 repo를 만듭니다.
2단계. "명령에서 기존 리포지토리 밀어넣기"에서 새 리포지토리의 링크를 복사하면 다음과 같습니다.
git@github.com:your-name/name-of-repo.git
. 로컬 프로젝트를 열고 폴더를 찾습니다..git
일반적으로 이 폴더는 숨겨진 폴더입니다. 내부.git
open 폴더기열config
.
구성 파일에는 다음과 같은 내용이 포함됩니다.
[remote "origin"]
url = git@github.com:your-name/name-of-repo.git
fetch = +refs/heads/:refs/remotes/origin/
[remote "origin"]
URL을 Github에서 복사한 URL로 변경합니다.
을 실행합니다. 4단계.git push --all
이렇게 하면 모든 커밋 기록뿐만 아니라 코드가 Github에 푸시됩니다.
5단계. 모든 것이 예상대로 작동하는지 확인하려면 변경, 커밋, 푸시 및 새 커밋이 새로 생성된 Github repo에 나타나야 합니다.
6단계. 마지막 단계로 Gitlab 보고서를 보관하거나 읽기 전용으로 설정할 수 있습니다.
다음 명령을 사용할 수 있습니다.
cd existing_repository
git remote rename origin old-origin
git remote add origin <yourRepository.git>
git push -u origin --all
git push -u origin --tags
오류가 발생할 경우 다음을 사용하여 푸시를 강제로 시도할 수 있습니다.-f
같이 합니다.
git push -u -f origin --all
git push -u -f origin --tags
에 있는 위해 GitLab에서 GitHub을 할 경우에는 GitLab에서 권장하는 경로입니다. 그러나 만약 당신이 그것을 변경한다면<yourRepository.git>
GitHub의 저장소 링크에 대한 링크 GitLab에서 GitHub으로 전송하여 반대 방향으로 이동할 수 있습니다.실제로, 여러분은 새로운 기원을 만들고 모든 것을 강요합니다.
간단한 해결 방법 중 하나는 로컬 저장소에 원격 URL을 하나 더 추가하는 것입니다.
단계:
git remote add <name> <URL>
git push name
예:
git remote add github_origin https://github.com/...
git push github_origin
GitLab에서 MFA를 사용하도록 설정한 경우 Repository Settings/Repository ->Deploy Keys(키 배포)로 이동하여 생성한 다음 GitHub에서 repoon을 가져오는 동안 로그인으로 사용해야 합니다.
기본 Github 저장소 가져오기는 가능하지만 Gitlab에서 두 가지 요소 인증이 활성화되지 않았는지 확인하십시오.
감사해요.
GitLab 프로젝트를 GitHub로 이전할 때 다음 두 단계에 따라 기록과 커밋을 포함할 수 있습니다.
Github 프로필의 오른쪽에 있는 설정을 클릭하고 저장소 가져오기를 선택합니다.그런 다음 이전 리포지토리 URL에 전송할 Gitlab 리포지토리 링크를 붙여넣습니다.첨부된 스크린샷에 따라 Git 저장소를 가져오는 단계
가져오기를 클릭한 후 로그인 자격 증명을 확인한 후 잠시 기다리십시오. 드디어 완료되었습니다.GitHub Repository에서 변경 사항을 확인합니다.
다음 지침에 따라 gitlab에서 github 사용자 인터페이스(UI)로 리포지토리를 가져올 수 있습니다.
-> 먼저 gitlab에 로그인합니다.
-> 그런 다음 프로젝트 gitlab의 링크를 복사합니다.
-> 그런 다음 허브로 이동하여 로그인합니다.
-> Github 인터페이스 오른쪽에서 (+)를 누릅니다.
-> 그런 다음 저장소 가져오기를 클릭합니다.
-> 그런 다음 "이전 리포지토리 복제 URL" 필드에 링크를 붙여넣습니다.
-> 그런 다음 저장소 이름을 오른쪽으로 이동합니다.
-> 그런 다음 개인/공용을 선택합니다.
-> 그런 다음 "가져오기 시작" 버튼을 누릅니다.
Gitlab 프로젝트의 커밋이 있는 모든 파일을 가져옵니다.
프로젝트를 완료하면 표시됩니다.
가져오기가 완료되었습니다!새 리포지토리 "링크"가 준비되었습니다.
드디어 프로젝트를 가져왔습니다.
GitLab의 사용자 계정에서 MFA가 활성화되어 있지 않은지 확인하십시오. 그렇지 않으면 작동하지 않습니다.MFA를 사용하도록 설정한 경우(필요한 경우) 가져오기를 수행할 때까지 일시적으로 MFA를 사용하지 않도록 설정했다가 다시 사용하도록 설정합니다.
언급URL : https://stackoverflow.com/questions/22265837/transfer-git-repositories-from-gitlab-to-github-can-we-how-to-and-pitfalls-i
'programing' 카테고리의 다른 글
jQuery or Selector? (0) | 2023.05.16 |
---|---|
Postgre의 계산된/계산된/가상/파생 열SQL (0) | 2023.05.16 |
node.js if ___name__ == '__main__'인 경우 python의 node.js에 해당합니다. (0) | 2023.05.16 |
org.dll.tomcat.dll.bcel.class 파일입니다.클래스 형식 예외:상수 풀의 바이트 태그가 잘못되었습니다. 15 (0) | 2023.05.16 |
"최대 요청 길이 초과됨" 캐치 (0) | 2023.05.16 |