경고 : push.default가 설정되어 있지 않습니다. Git 2.0에서 암시 적 값이 변경되고 있습니다.


1623

나는 잠시 동안 Git을 사용하고 있으며 최근 에이 경고 메시지가 표시되도록 업데이트를 다운로드했습니다. push .

warning: push.default is unset; its implicit value is changing in 
Git 2.0 from 'matching' to 'simple'. To squelch this message 
and maintain the current behavior after the default changes, use: 

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use: 

  git config --global push.default simple

분명히 언급 한 값 중 하나로 설정할 수 있지만 그 의미는 무엇입니까? 차이점은 무엇입니까simplematching?

한 클라이언트에서 변경하면 repos를 공유하는 다른 클라이언트에서 무엇을해야합니까?




1
참고 : git 2.8 (2016 년 3 월)은 해당 경고를 제거합니다!
VonC

답변:


2148

docs에 자세히 설명되어 있지만 요약하려고합니다.

  • matching수단이 git push됩니다 모든 로컬 브랜치를 밀어 원격에 같은 이름을 가진 사람으로. 이를 통해 의도하지 않은 지점을 실수로 쉽게 푸시 할 수 있습니다.

  • simple수단이 git push됩니다 사람 만 현재 분기를 밀어 git pull에서 끌어 것 , 그들의 이름이 일치하는 것도 확인합니다. 이것은보다 직관적 인 동작이므로 기본값이 이것으로 변경됩니다.

이 설정은 로컬 클라이언트의 동작에만 영향을 주며 명령 줄에서 푸시하려는 브랜치를 명시 적으로 지정하여 재정의 할 수 있습니다. 다른 클라이언트는 다른 설정을 가질 수 있으며 푸시하려는 브랜치를 지정하지 않은 경우에만 영향을 미칩니다 .


16
이 변화를 알게되어 기쁘다. 내가 git을 처음 사용했을 때 우연히 모든 로컬 브랜치 git push가 푸시되어 현재 브랜치 만 푸시 한다고 생각했습니다 .
rahul286

51
동기는 경험적으로 대부분 새로운 기본 행동을 기대한다는 것입니다
Blake Miller

125
설명서를 열고 문자열을 검색하라는 지시보다는 경고 메시지 자체에 놀랍도록 명확한 요약을하는 것이 훨씬 좋습니다.
hertzsprung

116
"그것은의 워드 프로세서에서 매우 명확하게 설명했다" 오른쪽 페이지에 끝낼 경우는,를위한 그러나 수동입니다 물론 자식 푸시 심지어 단어의 언급이없는 간단한 많은 사람들이 대신 여기 결국 아마, .
Gerry

36
hammar의 요약은 자식 문서보다 훨씬 간결한 설명입니다.
AJ.

19

나는 이것이 오래된 게시물이라는 것을 알고 있지만 방금 같은 문제가 발생하여 답변을 찾는 데 어려움이 있었으므로 조금 추가 할 것이라고 생각했습니다.

따라서 @hammar의 대답은 정확합니다. 사용 push.default simple은 지점에서 추적을 구성하는 것과 같은 방식으로, 밀고 당길 때 리모컨과 지점을 지정할 필요가 없습니다. 이 matching옵션을 사용하면 모든 브랜치가 기본 리모컨 (해당 리포지토리를 구성하지 않은 경우 가장 먼저 설정 한)의 해당 상대방으로 푸시됩니다.

장래에 다른 사람들이 유용하다고 생각하는 한 가지는 OS X Mountain Lion에서 Git 1.8을 실행 중이며이 오류를 보지 못했다는 것입니다. 매버릭스로 업그레이드하면 갑자기 git --version표시됩니다.git version 1.8.3.4 (Apple Git-47) 나는 OS로 업데이트 될 때까지 본 적이없는 것있다.


2
또한 매버릭스로 업그레이드 한 후 이것을보기 시작했습니다. 그래서 Git이 Mavericks와 동시에 업그레이드되었다고 생각합니다.
Per Lundberg

8

git simple에서 구성 의 값 에 대해 불평하는 메시지가 표시되면git version .

업그레이드 후 XCode(A의 Mac실행 Mountain Lion도 업그레이드) git에서 1.7.4.41.8.3.4 , 조개는 여전히 자식 실행중인 업그레이드 전에 시작 1.7.4.4를 하고 값에 대해 불평simple 글로벌 설정에서 push.default합니다.

해결책은 이전 버전을 실행하는 쉘을 닫고 git새 버전을 사용하는 것입니다!


13
새로운 Xcode 설치 (git 버전 1.8.5.2)를 사용하고 있으며 다음을 실행할 때까지이 오류가 계속 발생했습니다.git config --global push.default simple
Sam-Graham

2

Ubuntu 16.04 (Git 2.7.4와 함께 제공됨)에서 왜 큰 경고 메시지를 받았는지 궁금하지만 아치 Linux에서는 그렇지 않았습니다. Git 2.8 (2016 년 3 월) 에서 경고가 제거 되었기 때문입니다 .

Git 버전 2.0에서의 전환 과정에서 사용자는 push.default 구성 변수를 설정하지 않고 "git push"를 실행할 때 매우 큰 경고를 받았습니다. 전환이 오래 전에 완료되었으므로 더 이상 경고하지 않습니다.

따라서 Git 2.8 이상을 사용하는 경우 경고가 표시되지 않으며 push.default기본 'simple'동작 을 변경하지 않는 한 설정할 필요가 없습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.