programing

git 원격 태그와 이름이 같은 로컬 분기 푸시

css3 2023. 8. 23. 21:55

git 원격 태그와 이름이 같은 로컬 분기 푸시

새로운 지역 지점을 추진하는 중입니다.product-0.2동일한 이름의 태그가 이미 있는 원격 위치(그러나 분기 자체는 존재하지 않음)

git push -v --tags --set-upstream origin product-0.2:product-0.2 
Pushing to https://****@github.com/mycompany/product.git
error: src refspec product-0.2 matches more than one.
error: failed to push some refs to 'https://****@github.com/mycompany/product.git'

동일:

git push origin product-0.2:/refs/heads/product-0.2 

다른 방법으로 작동하지만, 예를 들어 지점 생성product-0.1커밋한 다음 태그를 적용합니다.product-0.1.

일부 사용자는 로컬에서 충돌하는 태그를 제거한 다음 분기를 누른 다음 원격 태그를 검색하여 이 문제를 해결하지만, 이 작업은 번거롭고 오류가 발생하기 쉽습니다.

어떻게 하면 최소한의 번거로움으로 지점을 만들 수 있습니까?

당신의 의견에 감사합니다.

다음 명령이 작동합니다.

git push origin refs/heads/product-0.2:refs/heads/product-0.2 

분기와 연결된 태그를 확인합니다.

git tag

저의 경우, 지점 이름이 같은 태그가 있었습니다.작동한 삭제:

git tag -d [tag-name]

분기 이름이 같은 태그를 푸시하려는 경우:

git push origin tag myTag

오늘 아침 표준 리포지토리에 푸시하려고 했는데 다음 오류가 발생했습니다.

$ git push origin master
error: src refspec master matches more than one.
error: failed to push some refs to 'ssh://user@host/srv/git/repo'

로컬에서 실수로 마스터 태그를 생성했기 때문에 이 문제가 발생했습니다.

$ git tag
master
tag1
tag2
tag3
tag4

이 태그를 로컬로 삭제한 후:

git tag -d master

저는 다시 밀 수 있었습니다.

이름을 변경합니다.

로컬이든 원격이든 이름만 변경하면 됩니다.

태그와 분기는 기본적으로 동일합니다. 즉, 커밋에 대한 포인터를 나타냅니다.다른 점은 태그가 고정된 상태로 유지되는 동안 사용자가 커밋을 수행할 때 분기 포인터가 진행된다는 것입니다.

그러나 다음을 수행할 수 있습니다.git checkout가지 또는 태그 중 하나에.왜 이렇게 이중적인 이름으로 싸우려고 합니까?바꿔주세요.

실패했습니다.

git push $origin $branch:$branch 

이것이 나에게 효과가 있는 동안:

git checkout $branch
git push $origin HEAD:$branch

원본 트리를 사용하는 경우 다음 단계를 수행합니다.

  1. 태그 섹션에서 분기의 태그 이름 찾기
  2. 태그 이름 삭제 태그를 클릭합니다.
  3. "원격에서 태그 제거"를 선택하고 확인을 클릭합니다.

변경 내용을 다시 적용합니다.이제 이것은 작동할 것입니다.

우리 팀은 같은 이름의 태그를 사용하여 로컬 지점을 저장소로 푸시해야 했습니다.

이것은 ARGO가 Moodle 앱을 구축해야 하고 서브모듈을 직접 구축하는 것을 지원하지 않기 때문입니다. 그래서 다른 팀이 태그를 만들었습니다. 우리가 정말로 지점이 필요할 때 말이죠.

단계:

  1. 태그에서 리포지토리를 꺼냅니다.
  2. git 스위치 -c 분기
  3. git push --설정 스트림 오리진 BRANCH

오류 표시:

오류: src refspec alt_v1.2.2가 둘 이상의 오류와 일치합니다. 일부 참조를 'https://gitlab.com/SOME_URL.git' '에 푸시하지 못했습니다.

솔루션:

  1. git 태그 -dalt_v1.2.2
  2. git push --설정 스트림 오리진 BRANCH

그리고 문제가 해결되었습니다!

이름이 같은 태그와 분기가 있는데 이를 밀어넣지 않은 경우에도 이 문제가 발생할 수 있습니다.물론, GIT는 혼란스러울 것입니다.

언급URL : https://stackoverflow.com/questions/9378760/git-push-local-branch-with-same-name-as-remote-tag