git은 삭제된 저장소의 원격 정보를 유지합니다.

git은 삭제된 저장소의 원격 정보를 유지합니다.

더 이상 저장소를 복제할 수 없습니다.

$ 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어떻게 보관되나요 ? 가장 중요한 것은 어디에 저장되어 있으며 어떻게 재설정할 수 있습니까?gitp2

$ 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최신 저장소와 관련된 정보가 있다는 것을 보여줍니다. p2Git 업데이트 명령(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--globalrepo/.git/config


Git 구성에 대한 추가 문서:https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration

관련 정보