development

개인 Github 저장소 복제

big-blog 2020. 5. 12. 19:06
반응형

개인 Github 저장소 복제


작업중 인 프로젝트를 위해 Github에 개인 저장소가 있습니다. 지금까지는 내 홈 데스크톱에서만 작업했지만 랩톱을 구입하여 어느 컴퓨터에서든 프로젝트 작업을 수행하고 변경 사항을 푸시 / 풀할 수 있도록 랩톱을 설정하려고했습니다.

랩톱의 Github 계정에 새 SSH 키를 추가하고 설정 한 공개 테스트 저장소를 복제하고 변경하는 데 성공했습니다. 그러나 개인 저장소를 복제 할 수 없었습니다. 개인 저장소를 복제하기 위해 명령 줄에서 특별히해야 할 일이 있습니까? 랩톱에 새 GitHub 계정을 설정하고 공동 작업자로 설정해야합니까?

내가 사용한 명령은 git clone git://github.com/myusername/reponame.git


개인 복제 URL은 형태를 취할 git@github.com:username/repo.git- 아마도 당신이 사용하는 데 필요한 git@것보다 git://?

git:// URL은 읽기 전용이며 개인 저장소는이 형식의 액세스를 허용하지 않는 것 같습니다.


이것은 나를 위해 일했다 :

git clone https://username@github.com/username/repo_name

물론 이것은 SSH 키를 Github에 추가 한 후에였습니다 . 필요한 경우 CentOs 서버에서 이것을 사용했습니다.


이것은 나를 위해 일했다 :

git clone https://username:password@github.com/username/repo_name.git

하나님을 위해서, 나는이 문제를 여러 번 만났으며이 페이지에 착륙 할 때마다 모든 것을 시도하고 실패했습니다!

2FA를 사용하도록 설정했기 때문입니다 !!!

https://help.github.com/articles/which-remote-url-should-i-use/#when-2fa-is-enabled 에 따르면

이중 인증 을 사용하도록 설정  했거나 SAML 싱글 사인온 을 사용하는 조직에 액세스하는 경우   HTTPS Git의 비밀번호를 입력하는 대신 개인용 액세스 토큰을 제공 해야합니다  .

  1. 이 링크를 따라 액세스 토큰을 만드 십시오
  2. git clone https://github.com/username/repo_name.git (기본 git repo 링크는 충분합니다!)
  3. 사용자 이름을 입력하고 액세스 토큰을 비밀번호로 사용하십시오 !!

최신 정보:

  • 명령 행에 액세스 토큰을 노출하지 않아도되는 경우 액세스 토큰을 사용자 이름으로 붙여 넣은 다음 enter 키를 누르십시오 (암호 필요 없음).
  • 액세스 토큰을 반복해서 복사하여 붙여 넣는 것을 싫어하십니까?
    사용 git config credential.helper store(신뢰할 수없는 컴퓨터에서는 사용 하지 마십시오)

Windows 용 Git을 사용하면 HTTPS URL을 사용하는 것이 더 쉽습니다.

git shell을 연다 git clone https://github.com/user/repo. 프롬프트가 표시되면 사용자 이름과 비밀번호를 입력하십시오. SSH 키를 설정할 필요가 없습니다.


나를 위해 해결책은 다음과 같습니다.

git clone https://myusername@restoftherepolink.git

여기서 당신은 repo의 소유자 여야하지만 그렇지 않으면 다음과 같이 갈 것입니다.

git clone https://myusername@github.com/ownersusername/repo_name.git

그렇다면2FA enabled :

  1. 오른쪽 상단의 프로필 아이콘에서 설정으로 이동하거나 https://github.com/settings/profile을 방문 하십시오.
  2. 하단 탭으로 이동하거나 https://github.com/settings/tokens 로 이동 하십시오.
  3. 여기에서 마지막 탭을여십시오. 개인 토큰. 그리고 토큰을 생성
  4. 토큰을 복사하고 실행 git clone https://myusername@restoftherepolink.git

비밀번호를 묻는 메시지가 표시되면 해당 토큰을 여기에 넣으십시오. 토큰 생성 이미지는 여기


맥의 대답에 대응하여, 당신은 클릭하여, 사용자의 SSH 복제 URL에 당신의 GitHub의 REPO 페이지를 얻을 수 있습니다 SSHYou can clone with HTTPS, SSH, or Subversion.와 URL을 복사합니다.


회사 (개인) 계정과 2 단계 인증을 사용하도록 설정 했으므로 몇 개의 게시물을 결합하여 아래와 같이 작동해야했습니다. (같은 상황에있는 사람에게 유용 할 수 있도록 적어 둡니다)

Initially it was the Fatal Error. 
fatal: repository 'https:
...
remote: Repository not found.
fatal: repository 'https:

Installed the credential manager and updated GIT as mentioned here: https://codeshare.co.uk/blog/how-to-solve-the-github-error-fatal-httprequestexception-encountered/

That did not solve the problem as the issue moved to the below when I tried using the clone command as follows:

$ git clone https://<username>:<password>@github.com/<ORG_NAME>/<PROJECT-NAME>.git

remote: Invalid username or password.
fatal: Authentication failed for 'https://

My password had $ symbol in it and for some reason GIT command line / GIT Bash did not like it. I can see this on the error returned text did not have the $ symbol in it.

fatal: Authentication failed for 'https://<username>:<password-missing-$-symbol>@github.com/<ORG_NAME>/<PROJECT-NAME>.git'

I had to reference this site: https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage

Please note: If an incorrect password is stored for your account in Windows Credential Manager it will also add to the problem. I removed the github credential stored this way before moving to the step below.

$ git config --global credential.helper cache
$ git clone https://<username>:<password>@github.com/<ORG_NAME>/<PROJECT-NAME>.git

Now the Windows Credential manager popped-up. I typed my username and password in the text-boxes (This accepted my password that had the $ symbol) and prompted me for a 2-Factor Authentication code. I typed in the authentication code from Google Authenticator, and the clone started perfectly.


In addition to MK Yung's answer: make sure you add the public key for wherever you're deploying to the deploy keys for the repo, if you don't want to receive a 403 Forbidden response.


First make sure that you have a SSH key or generate one at: https://help.github.com/articles/generating-ssh-keys/

Once you have your key, you have to add it to your github account at: https://github.com/settings/ssh

For Windows users it's useful to run git bash as an administrator.

Now the cloning should work for private repositories (repo), without having to put your username and password.


This worked for me on mac git clone https://username@github.com:username/repo_name


If the newly used computer has different credentials running this command

git clone https://github.com/username/reponame.git

directly will not work. Git will attempt to use the stored credentials and will not prompt you for the username and the password. Since the credentials mismatch, git will output Repository not found and the clone operation fails. The way I solved it was by deleting the old credentials, since I don't use them anymore, and ran the the above mentioned command again and entered the required username and password and cloned the private repo.


I needed a non-interactive method for cloning a private repo.

Inspired by this issue: https://github.com/github/hub/issues/1644

Step 1.

Create a personal access token in the github developer settings: https://github.com/settings/tokens

Step 2.

git clone https://$token:x-oauth-basic@github.com/$username/$repo.git

When cloning from private repos with 2FA enable, there is a simple steps which you need to follow

  1. Go to your Git account
  2. Go to Settings-> Developer Settings->Personal Access Token
  3. Click on Generate new token
  4. Create a token with title you want and with the functionalities
  5. When you are cloning the private repo, by using git clone repoName, after entering your user name, give personal access token as the password.

Follow same steps when you get Authentication failed error message for Private repo


Add your desktop ssh public key in github.

https://github.com/settings/keys

You can clone the repo without any password.


2FA를 사용하도록 설정하지 않은 경우 리포지토리에 액세스 할 수있는 권한이 있고 리포지토리가 존재하는 경우 git@github.com이 다른 계정으로 로그인되었을 수 있습니다.

당신이 할 수 있는지 확인

git -T git@github.com

다른 계정이 표시되면이 문제를 해결하십시오.

 ssh-add -D
 ssh-add ~/.ssh/your_rsa
 ssh -T git@github.com
 git clone git@github.com:<owner_name>/<repo_name>.git

참고 URL : https://stackoverflow.com/questions/2505096/cloning-a-private-github-repo

반응형