다른 Git에서 GitHub로 마이그레이션하는 방법

6606 단어 GitGitHub
  • 환경
  • Windows10 64bit
  • git version 2.18.0.windows.1
  • 1. GitHub 웹 사이트에 새 저장소 만들기

  • 보고서 탭에서 새로 만들기 버튼을 누릅니다
  • 자료 파일 라이브러리 이름을 입력하고 "Repository 만들기"단추를 사용하여 자료 파일 라이브러리 만들기
  • 2. 클론 소스를 미러링하여

    # 移行元をミラーでクローンする
    $ git clone --mirror {移行元リポジトリURL}
    Cloning into bare repository '移行元'...
    remote: Counting objects: 8351, done.
    remote: Compressing objects: 100% (2499/2499), done.
    remote: Total 83512 (delta 4413), reused 7766 (delta 3996)
    Receiving objects: 100% (8351/8351), 6.65 MiB | 1.20 MiB/s, done.
    Resolving deltas: 100% (4413/4413), done.
    

    3. 푸시 대상 마이그레이션 목표 설정

    # 移行元へ移動
    $ cd {ミラーリングした移行元リポジトリのpath}
    
    # Push先に移行先を設定する
    $ git remote set-url --push origin {移行先リポジトリURL}
    
    # 確認する
    $ git remote -v
    origin  {移行元リポジトリURL} (fetch)
    origin  {移行先リポジトリURL} (push)
    
    # cloneして時がたっている場合は移行元の変更を全部取り込む
    $ git fetch --all
    Fetching origin
    
    gitfetch 명령의 주요 옵션
    모든 원격fetch의 --all: 설정된 모든 원격에서 모든 기록을 가져옵니다.
    로컬에 존재하지 않는 지점 삭제 -p, --prune: 원격이지만 로컬에 존재하지 않는 모든 지점을 삭제합니다.
    태그fetch "-t, --tags": 원격의 모든 태그를 검색합니다.
    gitfetch 명령의 사용 방법과 주요 옵션 요약

    4. 원본 저장소에 요청이 있으면gitconfig에서 이 요청을 제외하십시오


    실제로는...하지 않아서push메시지를 출력했습니다.
    합병 여부는 무관하다.
    Git Howto: Mirror a GitHub repo without pull refs | Christoph Rüegg

    5. remote rejected로 푸시

    $ git push --mirror
    Enumerating objects: 83512, done.
    Counting objects: 100% (8351/8351), done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (2082/2082), done.
    Writing objects: 100% (8351/8351), 6.65 MiB | 4.4 MiB/s, done.
    Total 83512 (delta 4413), reused 83512 (delta 4413)
    remote: Resolving deltas: 100% (4413/4413), done.
    To {移行先リポジトリURL}
    # 省略
    

    명령을 내리면 GitHub의 인증 정보가 묻혀서 대답합니다.



    2단계 인증을 설정했냐는 질문에



    이동 목적지에refs/pull 메시지가 나타나도 개의치 않습니다!저는 할 수 있을 것 같아요.


    프롤릭이 있는 자료고remote rejected에 나타난다refs/pull.
    왜 그런지 모르겠지만 원본 저장소에서 홍보를 제공하는 상태에서 이전 절차를 진행하면push 오류가 발생합니다
    다만, 오류가 발생했다고 해서 저장소 이전이 실패하는 것은 아니다.
    github 가능한 한 저장소를 이전하는 방법을 연구했고 실제로 시도해 봤어요. - 엔지니어는 무섭지 않아요.
     ! [remote rejected]     refs/pull/9/head -> refs/pull/9/head (deny updating a hidden ref)
    error: failed to push some refs to '{移行先リポジトリURL}'
    
    (대략 번역)remote rejected로 시작하는 참조는 GitHub에서 만든 읽기 전용 참조이며 다른 저장소에서 실제로 가져올 수 있는 가능한 지점을 반영하기 때문에 업데이트할 수 없습니다(그러므로refs/pull.
    따라서 모든 실제 참조를 푸시하면 드래그 요청이 업데이트되지 않습니다.
    끌어당기기 요청 없이 GitHub 저장소를 미러링해야 합니다.
    ! [remote rejected] errors after mirroring a git repository - Stack Overflow

    근데 클린이 뭐예요?


    Git에서는 참조 또는 refs라고 합니다.SHA-1 해싱 값이 포함된 파일은 입니다.git/refs 디렉터리에서 찾을 수 있습니다.현재 항목에서 이 디렉터리에는 파일이 없지만 간단한 설정이 있습니다.
    Git-Git 참조

    웹 페이지 정보

  • 저장소를 GitHub로 마이그레이션하는 방법 - Qiita
  • Git: 원격 저장소를 다른 원격 저장소로 복사 - Qiita
  • 기존 Git 저장소를 GitHub 저장소로 마이그레이션 - Qiita
  • 좋은 웹페이지 즐겨찾기