IT story

원격 자식 분기를 삭제할 때 "오류 : 규정되지 않은 대상으로 푸시 할 수 없습니다"

hot-time 2020. 6. 25. 07:50
반응형

원격 자식 분기를 삭제할 때 "오류 : 규정되지 않은 대상으로 푸시 할 수 없습니다"


와 함께 원격 자식 분기를 삭제하려고합니다.

git push origin :my_remote_branch

그리고 점점 :

error: unable to push to unqualified destination: my_remote_branch
The destination refspec neither matches an existing ref on the remote nor
begins with refs/, and we are unable to guess a prefix based on the source ref.
error: failed to push some refs to 'git@example.com:/myrepo'

이들은 내 현재 지점입니다

git branch -a
* develop
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/my_remote_branch

git branch -r --merged
  origin/HEAD -> origin/master
  origin/develop
  origin/master

이 지점을 제거하는 방법에 대한 아이디어가 있으면 감사하겠습니다.


refs/remotes/origin/my_remote_branch로컬 저장소에 존재 한다는 사실이 원격 저장소에 refs/heads/my_remote_branch존재 하지는 않습니다 origin.

수행 git fetch -p origin하기 위해 refs/remotes/origin/my_remote_branch이미 기원으로 삭제하면 멀리 이동합니다. -p옵션은 페치가 해당 리모트에 더 이상 존재하지 않는 추적 분기를 삭제하도록 지시합니다. 기본적으로 그들은 유지됩니다.


찾을 질문 오래된 원격의 자식 가지를 정리 하고이 속임수를 썼는지

git branch -r -d origin/my_remote_branch

이미 삭제 된 원격 지점을 삭제하려고 할 때이 문제를 해결했습니다. 필요한 것은 자두뿐이었습니다.

git remote prune origin

원격 지점을 강제로 삭제하려면 다음 두 가지 옵션을 시도하십시오.

옵션 1

get push origin --delete <branchName>

옵션 2

git fetch -p origin
git branch -r -d origin/<branchName>

git branch -r -d origin/my_remote_branch

나를 위해 충분하지 않았다. 서버에 가서 git 디렉토리를 직접 사용하여 (위험하고 추악한) 브랜치를 제거하기 전에 :

ssh mygitserver
su - git
cd /home/git/repositories/my_remote_branch.git/
git  --git-dir=. --work-tree=/tmp/ branch -D my_remote_branch

나에게 문제는 이것이 github의 기본 분기라는 것입니다. 기본 분기를 변경 한 후 삭제 작업이 성공했습니다.

누군가에게 도움이되기를 바랍니다.


이 같은 문제가 발생 ./.git/config하면 다음을 포함하도록 파일을 수동으로 편집했습니다 .

[branch "branchName"]
remote = origin
merge = refs/heads/branchName

결과 : error: src refspec branchName matches more than one.이것을 실행하여 수정했습니다 $git tag -d branchName. 그 후 새 지점을 업스트림으로 푸시 할 수있었습니다.


비슷한 문제가 있습니다. 먼저이 토론에 갔지만 https://stackoverflow.com/a/32147743/4209849를 볼 때까지 문제를 해결할 수 없었습니다 .

이는 단순히 구별에 팁을 추가 origin/my-branch-name하고 my-branch-name.

구체적으로 말하면 다음을 사용해야합니다.

git push origin :my_remote_branch

대신에

git push origin :origin/my_remote_branch

이것은 적어도 내 문제를 해결했습니다. 다른 사람들에게도 도움이되기를 바랍니다.


이것은 나를 위해 일했습니다 : github UI에서 원격 지점을 만든 다음 같은 이름을 가진 로컬 지점을 푸시했습니다. 다른 방법으로 작동하지 않는 경우 사용해보십시오. 다른 방법은 로컬로 새 브랜치를 만들고 빈 브랜치를 밀고 나중에 커밋을 고른 다음 다시 리모컨으로 푸시하는 것입니다.

참고 URL : https://stackoverflow.com/questions/10292480/when-deleting-remote-git-branch-error-unable-to-push-to-unqualified-destinatio

반응형