소스 트리를 통해 푸시를 시도 할 때 다음 오류가 발생합니다.
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags origin refs/heads/master:refs/heads/master
Pushing to https://user@github.com/repo.git
To https://user@github.com/repo.git
= [up to date] master -> master
...
! [rejected] example_tag -> example_tag (already exists)
updating local tracking ref 'refs/remotes/origin/master'
error: failed to push some refs to 'https://user@github.com/repo.git'
hint: Updates were rejected because the tag already exists in the remote.
Completed with errors, see above
내가 아는 한이 태그를 변경하지 않았습니다. 이 문제를 어떻게 해결할 수 있습니까?
답변
git bash에서도이 문제를 해결할 수 있습니다 (소스 트리 UI에서 “터미널”버튼 클릭). 유형:
git pull --tags
답변
유지하려는 태그를 로컬로 변경하지 않은 경우 이미 존재 하기 때문에 거부 된 태그를 제거 할 수 있습니다 ( example_tag
이 경우).
- 태그를 마우스 오른쪽 버튼으로 클릭하고 (반드시 삭제를 선택 취소 모든 리모컨의에서 제거 태그를 체크 박스).
- 가져 오기 옵션을 선택합니다 (모든 태그를 로컬로 가져 와서 저장 하지 않아도됩니다).
- 이제 방금 삭제 된 태그가 있어야하며 푸시 를 시도해 도 더 이상 해당 오류 메시지가 표시되지 않습니다.
이것이 SourceTree에서 일반적인 이유는 Push all tags 옵션이 기본적 으로 on 으로 설정되어 있기 때문 입니다. (이 오류를 숨기는 또 다른 방법은 해당 옵션을 선택 취소하는 것입니다.)
답변
push all tags
git push를 확인할 때 UI 하단의 선택 을 취소 하십시오.
답변
git pull --tags
정말 잘 작동하지만 때때로이 명령을 사용해도 오류가 발생할 수 있습니다. 오류 메시지 예 :
! [rejected] example_tag -> example_tag (would clobber existing tag)
이것은 다음 명령으로 해결할 수 있습니다. git pull --tags -f
출처: