Git 경고 : push.default가 설정되지 않았습니다. 암시 적 가치가 변하고 있습니다
Git에서 원격으로 푸시하면 다음 경고가 표시됩니다.
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
See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
To **********************************
6b9a6d2..3ab1eab master -> master
이 경고는 무엇을 의미하며 이에 대해 어떻게해야합니까?
이 경고는 simple
푸시 스타일 과 함께 Git 1.7.11에서 도입했습니다 . 문제는 현재 연결 인으로 matching
일부 분기가 원격 해당 분기가있을 때 경험이없는 사용자가 강제로 푸시 할 수 있습니다. 분기가 표시 최신 상태가 아니기 때문입니다. 최종 결과는 분기를 되 감고 뛰어난으로 자신의 작업이나 다른 사람의 작업을 잃게되는 것입니다. 이 simple
-mode는 새로운 push.default
동작 으로 도입 되었으며 망할 놈의 2.0에서 기본값이 될 것입니다 (내년 초에 나올 예정입니다).
새 simple
동작은 upstream
설정 과 매우 유사합니다 . 추적중인 원격 분기가있는 경우 현재있는 현재 분기 만 푸시합니다. 하나의 추가 기준을 추가합니다. 원격 분기는 로컬 분기와 동일한 이름을 가져옵니다.
발견했듯이 메시지를 제거하는 방법은을 설정하는 것 push.default
입니다. 새로운 동작을 얻을려면 다음을 사용하십시오.
git config --global push.default simple
Git의 기본 동작을 얻으려면 경고 메시지없이 다음을 사용하십시오.
git config --global push.default matching
난 정말 좋을 걸 에 대해 일치하지만 사용하여. 일반적으로 대부분의 사람들은 새로운 simple
행동 또는 upstream
.
2016 년 2 월 업데이트 :
git 2.8 (2016 년 3 월) 은 큰 경고 메시지를 제거했습니다 .
Matthieu Moy ( )의 commit 2f27520 (2016 년 2 월 25 일)을 참조하십시오 . (의해 병합 Junio C 하마노 - 에 15be621 커밋 2,016 26 이월)moy
gitster
push
: "push.default is unset
"경고 메시지 제거이 경고는 2.0 전환 이전에 중요하고 그 후에도 한동안 중요하게 남아 있기 때문에 새 사용자가
push.default
이전 버전의 Git을 사용하지 않는 경우에도 마찬가지입니다.경고는 버전 1.8.0 (2012 년 10 월) 이후에 있고 현재 Git 사용자의 사용가 노출되고 예상 할 수있는 대부분은 이미
push.default
명시 적으로 설정되어 있습니다. '매칭'에서 '단순'으로의 전환은 2.0 (2014 년 5 월)에 계획하는 것이 2.3 (2015 년 2 월)에만 발생했습니다.대부분의 경우
push.default
구성을 설정하지 않습니다 . 그들 중 많은 사람들에게 경고는 그들이 배우지 않은 개념에 대해 이야기하고 아직 할 수없는 선택을 요구하기 때문에 혼란 스럽습니다. 예를 들어 " Warning : push.default is unset; its implicit value is changed in Git 2.0 "(질문에 1260 표, 작성 시점에 1824 표)완전히 방해하지 않도록 제거하십시오. 여전히 이전 버전의 Git을 사용하는 사람들은이 이전 버전을 통해 경고에 노출됩니다.
결국 경고가없는 Git 버전은 충분히 배포 될 수있는 튜토리얼은
push.default
더 이상 설정을 조언 할 필요가 없습니다.
원문 답변 (2014 년 3 월)
이 경고는 곧 git 2.0 (2014 년 2 분기)에서 커밋 289ca27 및 커밋 11037ee로 변경 됩니다.
push.default가 설정되지 않음. Git 2.0에서 암시 적 값 이 '일치'에서 '단순'으로 변경되었습니다 .
메시지를 억제이하고 전통적인 동작을 유지 하려면 다음을 사용하십시오.
git config --global push.default matching
이 메시지를 선택하고 지금 새로운 동작을 선택하십시오.
git config --global push.default simple
push.default
가 'matching
' 로 설정 되면 git은 이미 동일한 이름을 가진 원격 분기로 로컬 분기를 푸시합니다.Git 2.0부터 Git은 기본적으로 ''
simple
' 보다 보수적 인 동작을 사용하며,'git pull
'는 현재 분기를 업데이트하는 데 사용 하는 해당 원격 분기에만 현재 분기를 푸시합니다 .
자세한 내용은 " Git의 기본값과 일치하도록 푸시하는 이유는 무엇입니까? "를 참조하십시오.
얼마 전에 같은 문제가 발생했습니다. 이 문제를 해결했습니다.
- 내 새 브랜치 (UAT)를 먼저 복제
- 그런 다음 해당 분기 (UAT)로 푸시
'ProgramingTip' 카테고리의 다른 글
unittest setUp으로 mock을 사용하는 방법 (0) | 2021.01.07 |
---|---|
다른 지점에서 tree-ish를`git log`하는 방법은 무엇입니까? (0) | 2021.01.07 |
부모 RecyclerView 안에있는 방법은 무엇입니까? (0) | 2021.01.07 |
getCurrentPosition () 및 watchPosition ()은 안전하지 않은 출처에서 더 이상 사용되지 않습니다. (0) | 2021.01.07 |
배열의 최대 크기가 "너무 큰"이유는 무엇입니까? (0) | 2021.01.07 |