remote: Repository not found.가 되었을 때의 대응 방법

4078 단어 SourceTreeGitHubGit

이벤트 : SourceTree에서 GitHub에서 저장소를 Clone하면 화가났습니다.


  • 환경
  • Winsows10 64bit
  • SourceTree v3.0.8
  • 이미 다른 계정으로 GitHub에서 clone 한 리포지토리가 있습니다


  • コマンド: git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks -c credential.helper= -c credential.helper="C:/Users/ponsuke/AppData/Local/ATLASS~1/SOURCE~1/GIT_EX~1/GIT-CR~1.EXE" ls-remote https://github.com/ponsuke/repository.git
    出力: 
    エラー: remote: Repository not found.
    fatal: repository 'https://github.com/ponsuke/repository.git/' not found
    
    https://github.com/ponsuke/repository.git/
    

    원인 : 인증 할 수 없기 때문에



    Github에 https로 git clone 할 수 없을 때 한 일 - Qiita

    대응 : 사용자 이름과 암호를 지정하여 Clone



    Clone 할 리포지토리를 다음 형식으로 지정
    https://{ユーザ名}:{パスワード}@github.com/ponsuke/repository.git
    

    하지는 않지만 remote account 링크에서 설정할 수 있습니다.


    GitHub의 2단계 인증을 설정한 경우


  • GitHub에 로그인 > 오른쪽 상단에 있는 내 아이콘을 클릭 > [Settings]
  • [Developer settings] > [Personal access tokens] > [Generate new token] 버튼으로 토큰 생성
  • Clone 할 리포지토리를 다음 형식으로 지정합니다.

    2단계 인증을 설정한 경우
    https://{ユーザ名}:{トークン}@github.com/ponsuke/repository.git
    

    이벤트 : 이미 Clone하고 있던 GitHub의 리포지토리를 가져 오면 화가났다.


    $ git fetch --all --prune
    Fetching origin
    remote: Repository not found.
    fatal: repository 'https://github.com/ponsuke/repository.git/' not found
    error: Could not fetch origin
    

    원인 : Windows Credential Manager가 이상하기 때문에



    어쩌면 어제까지 가져올 수 있었는데 ...

    Git의 로그인에 필요한 유저명과 패스워드가, Windows Credential Manager(자격 증명 매니저)에 저장되어, Git의 계정을 복수 이용했을 경우에 문제가 발생한다고 하는 것이 쓰여져 있었다.
    Github 에 push 하려고 하면 Repository not found 라는 에러가 나오게 되었다

    그러고 보니, 조금 다른 GitHub 계정으로 클론이라든지 했구나・・・

    해결 : 전체 시스템에 대한 설정 수정


    # 1. システム全体用のconfigをエディタで開く
    $ git config --edit --system
    # 2. エディタで以下を削除する(※[credential]にhelper以外の設定があったら[credential]は残す)
    [credential]
        helper = manager
    # 3. 保存してconfigを閉じる
    # 4. もう一回フェッチしたらできた
    $ git fetch --all --prune
    Fetching origin
    
    $
    

    원인 : 인증 할 수 없기 때문에



    앞서 쓴 사건과 원인은 같다.
    2단계 인증을 걸고 있는 계정인데 왜 Clone도 1번째 push도 할 수 있었을까? 라고 신기하게 생각하고 있으면 화났다.

    대응 : config 파일의 url에 자격 증명 추가



    설정을 수정하면 fetch도 pull도 push도 할 수 있게 된다

    .git/config
    :...省略...
    [remote "origin"]
        url = https://{ユーザ名}:{トークン}@github.com/ponsuke/repository.git
    :...省略...
    
  • 좋은 웹페이지 즐겨찾기