원격 풀 동안 모든 태그를 가져 오도록 Git 기본값을 설정할 수 있습니까?


153

현재 다음과 같은 git remote setup이 있습니다.

[remote "upstream"]
    url = <redacted>
    fetch = +refs/heads/*:refs/remotes/upstream/*

git pull지점 마스터에서 발행하면 모든 원격 헤드가 원격 / 업스트림으로 페치 된 후 원격 / 업스트림 / 마스터가 마스터로 병합됩니다. 도달 할 수있는 모든 태그도 동시에 페치되므로 매우 편리합니다.

헤드에서 직접 연결할 수있는 태그뿐만 아니라 리모컨에서 모든 태그 git pull를 추가로 가져오고 싶습니다 . 나는 원래 설정을 시도 했지만 이것이 태그 만 가져 와서 모든 것을 깨뜨렸다는 것을 알았습니다. (Junio는 끔찍한 구성 오류 라고 말합니다 ).tagopt == --tags

git pull원격 헤드 외에 기본적으로 모든 원격 태그를 가져 오는 방법이 있습니까?


1
나 자신에 대한 알림 : 실제로 태그를 먼저 git push origin <tag_name>
눌렀

tagopt솔루션 사용 은 더 이상 잘못된 구성이 아닙니다. 1.9 / 2.0 (2014 년 1 분기) 기준 으로, 일반적으로 가져 오는 태그 외에 모든 태그 가져옵니다.
mgiuffrida

답변:


95

로컬 구성에 태그에 대한 참조 스펙을 추가하여이를 수행 할 수 있어야합니다. 구체적으로 :

[remote "upstream"]
    url = <redacted>
    fetch = +refs/heads/*:refs/remotes/upstream/*
    fetch = +refs/tags/*:refs/tags/*

5
Aha, 나는 여러 개의 인출 라인을 가질 수 있다는 것을 결코 깨닫지 못했습니다. 아주 좋고 명백합니다.
jleahy

1
이것을 git 2.21과 함께 사용하는 것에주의하십시오. apple.stackexchange.com/questions/352404/…
Vadorequest

306

간단한 git fetch --tags것이 나를 위해 일했습니다.


13
@Fizzix 아마도 "기본"을 포함하도록 제목을 변경해야합니다. 이 게시물은 내 질문에 대답했습니다.
Matt Kneiser

2
이것은 나를 위해 작동하지 않았습니다. 로 태그를 볼 수 있습니다 git ls-remote.
dangeroushobo

정확한 질문에 대한 답변은 아니지만 제목의 질문에 대한 답변은 웹 검색을 통해 찾은 방법입니다.
Hubert Grzeskowiak

68

--force옵션은 로컬 태그를 새로 고치는 데 유용합니다. 주로 플로팅 태그가있는 경우 :

git fetch --tags --force

git pull 옵션에는 옵션이 --force있으며 설명은 동일합니다.

git fetch를 <rbranch> : <lbranch> refspec과 함께 사용하면 가져 오는 원격 분기 <rbranch>가 <lbranch>의 하위 항목이 아닌 경우 로컬 분기 <lbranch> 업데이트를 거부합니다. 이 옵션은 해당 검사를 무시합니다.

그러나의 의사에 따르면 --no-tags:

기본적으로 원격 저장소에서 다운로드 한 객체를 가리키는 태그는 가져 와서 로컬에 저장됩니다.

기본 진술이 제한이 아닌 경우 시도해 볼 수도 있습니다

git pull --force

2
git pull --force포함되지 않음git fetch --tags --force
Geniy

21

나를 위해 다음이 효과가있는 것 같습니다.

git pull --tags

태그를 가져 오는 것만으로도 아마 다음과 같은 의미 일 것입니다 :`git fetch --tags`
Yuseferi

에 대한 답변이 이미 있습니다 git fetch --tags. 나는 다른 대답을하고 싶었다. 풀 = 페치 + 병합 따라서 페치도 발생합니다.
Vasantha Ganesh K


1

나는 이것을 kernel.org에서 magit과 함께 사용한다

[remote "upstream"]
    url = <redacted>
    fetch = +refs/heads/*:refs/remotes/upstream/*
    tagOpt = --tags
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.