더 이상 저장소를 복제할 수 없습니다.
$ git clone [email protected]:myaccount/myrep.git
Cloning into 'myrep'...
conq: repository does not exist.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
문제는 내 SSH id_rsa
키가 여전히 동일하다는 것입니다. 어쨌든 이를 다시 생성하고 BitBucket
내 계정의 SSH 키에서 업데이트한 후 저장소를 복제하려고 하면 동일한 오류가 발생합니다. 다른 컴퓨터(redhat)에서 똑같은 프로세스를 시도했는데 git clone이 작동했습니다. 그래서 무슨 일이 일어났습니다 git
.
그런 다음 다른 git 버전 프로젝트로 이동합니다.
$ cd share-repo
$ ls -a
./ ../ .git/ .gitignore* f1* f2*
git config
파일을 인쇄합니다 .
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = [email protected]:myaccount/share-repo.git
[branch "master"]
[user]
name = myaccount
나는 시도한다 pull
:
$ git pull -v
conq: repository does not exist.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
좋아요, 푸시해볼까요?
$ git push -v origin master
Pushing to [email protected]:myaccount/p2.git
conq: repository does not exist.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
아? Git
저장소 p2로 푸시해 보시겠습니까? 푸시를 시도해야 합니다 share-repo
. p2라는 저장소에 푸시를 정확히 어떻게 시도하고 있습니까? 사실 p2
오늘 아침에라는 저장소가 있었는데 테스트를 하다가 계정에서 삭제하고 BitBucket
컴퓨터에서 관련 폴더를 삭제했습니다. 정보는 p2
어떻게 보관되나요 ? 가장 중요한 것은 어디에 저장되어 있으며 어떻게 재설정할 수 있습니까?git
p2
$ git remote -v
origin [email protected]:myaccount/p2.git (fetch) # ?!
origin [email protected]:myaccount/p2.git (push) # ?!
origin [email protected]:myaccount/share-repo.git (push)
이상하게도 이전에 본 것처럼 이 git config
파일에는 repo에 대한 정보만 포함되어 있습니다 share-repo
. 또한 전체 폴더에서 문자열 p2를 찾아 보았습니다.
$ grep -Rin p2 ../share-repo/
# Nothing
p2
이라는 저장소를 수동으로 다시 만들었습니다 Bitbucket
. 나는 그것을 복제하려고합니다 :
$ cd ..
$ git clone [email protected]:myaccount/p2.git
Cloning into 'p2'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
$ cd p2
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = [email protected]:myaccount/p2.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
$ git remote -v
origin [email protected]:myaccount/p2.git (fetch)
origin [email protected]:myaccount/p2.git (push)
origin [email protected]:myaccount/p2.git (push)
좋아, git clone
작동했지만 이제는 두 개의 추가 원격 제어 와이어를 참조하고 있으며 그 중 하나는 중복되었습니다. 저장소를 사용할 때 추가 줄을 기억하시나요 share-repo
? 이것은 처음 두 줄에 관한 것이며, 여전히 내가 삭제한 이전 p2 저장소와 관련되어 있습니다.
몇 가지 변경 사항을 적용해 보겠습니다.
$ git touch .gitignore
$ git add .gitignore
$ git commit -m "first commit"
$ git push -v origin master
Pushing to [email protected]:myaccount/p2.git
Counting objects: 3, done.
Writing objects: 100% (3/3), 216 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]:myaccount/p2.git
* [new branch] master -> master
updating local tracking ref 'refs/remotes/origin/master'
Pushing to [email protected]:myaccount/p2.git
To [email protected]:myaccount/p2.git
= [up to date] master -> master
updating local tracking ref 'refs/remotes/origin/master'
Everything up-to-date
그래서 git은 p2 저장소로 푸시하고 두 번째로 시도합니다. 두 저장소 모두 bitbucket
내 계정에서 이름과 위치가 동일하므로 모든 것이 최신 상태인 것이 분명합니다.
p2
이제 저장소가 내 계정에 존재하는 한 원하는 저장소를 복제할 수 있습니다 Bitbucket
. push
예를 들어 몇 가지 변경 사항을 적용하면 share-repo
작동하지만 git은 동일한 변경 사항을 저장소에 푸시하려고 시도합니다 p2
. 나는 어떻게 고칠지 모르는 혼란에 빠졌습니다.
요약하면, 오늘 아침에 이라는 저장소가 있었는데 p2
, 여기에서 삭제 bitbucket
한 다음 내 컴퓨터에서 해당 폴더를 삭제했습니다. 그 이후에는 어떤 git 프로젝트에 들어가도 cd
현재 작업 중인 저장소 위에 이미 git remote -v
최신 저장소와 관련된 정보가 있다는 것을 보여줍니다. p2
Git 업데이트 명령(clone, push, pull)은 내가 p2
그렇게 하지 않으면 작동하지 않습니다 Bitbucket
. 일단 그렇게 하면 git update 명령은 내가 작업 중인 현재 저장소와 저장소 p2에 명령을 적용합니다.
p2
오늘 삭제한 저장소가 이것뿐만이 아니어서 여기서 무슨 일이 벌어지고 있는지 궁금합니다.
나는 내가 받을 수 있는 모든 도움을 기꺼이 받아들인다.
답변1
해결되었습니다. 내가 말을 해요. bash 자동 완성(탭)을 사용하여 파일을 빠르게 검사했는데 ~/.git-whatever
작동하지 않아서 맹목적으로 문제가 다른 곳에 있다고 가정했습니다. Patrick의 의견은 다음과 같습니다. 사용법을 다시 확인했고 그가 쓴 내용 ls -a ~/
이 ~/.gitconfig
실제로 여기에 있으며 리모컨에 대한 정보가 포함되어 있습니다.
$ cat ~/.gitconfig
[user]
name = myaccount
email = [email protected]
[remote "origin"]
push = [email protected]:myaccount/p2.git
이제 그 이유를 기억합니다. 실험하는 동안 이 명령을 사용하고 다른 전역 구성을 변경했습니다. 파일에 변경 사항이 없기 때문에 그것이 무엇을 하는지 이해하지 못합니다.git config --global remote.origin [email protected]:myaccount/p2.git
--global
repo/.git/config
Git 구성에 대한 추가 문서:https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration