警告: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

私は明らかにそれを上記の値の1つに設定できますが、それらはどういう意味ですか?違いは何だsimpleとはmatching

1つのクライアントで変更した場合、リポジトリを共有している他のクライアントで何かする必要がありますか?




1
注:git 2.8(2016年3月)はその警告を削除します!stackoverflow.com/a/22356644/6309を
VonC '27

回答:


2148

それはドキュメントで非常に詳細に説明されいますが、要約してみましょう:

  • matching手段がgit pushしますすべてのあなたの地元の支店を押して、リモコンの同じ名前のものに。これにより、意図しないブランチを誤ってプッシュすることが容易になります。

  • simple手段はgit pushなり1にのみ現在のブランチをプッシュgit pullからプルう、と自分の名前が一致していることも確認します。これはより直感的な動作です。そのため、デフォルトがこれに変更されています。

この設定はローカルクライアントの動作にのみ影響し、コマンドラインでプッシュするブランチを明示的に指定することでオーバーライドできます。他のクライアントは異なる設定を持つことができ、それはあなたがプッシュしたいブランチを指定しない場合に何が起こるかにのみ影響します


16
この変更を知ってうれしい。私がgitを初めて使用したとき、すべてのローカルブランチを誤ってプッシュしましたgit push
rahul286

51
動機は、経験的に、ほとんどが新しいデフォルトの動作を期待していることです
Blake Miller

125
ドキュメントを開いて文字列を検索するように指示するよりも、警告メッセージ自体に驚くほど明確な要約を含める方がはるかに優れています。
hertzsprung 2013

116
「それはのドキュメントで非常に明確に説明し、」あなたは右のページで終わる場合、用が手動であることを確認してくださいgitのプッシュ偶数ワードの言及がないシンプルなので、多くの人が代わりにここで終わったおそらく、 。
ジェリー2013年

36
hammarの要約はgit docsよりもはるかに簡潔な説明です。
AJ。

19

これは古い投稿であることに気づきましたが、同じ問題に遭遇しただけで答えが見つからなかったので、少し追加すると思いました。

@hammarの答えは正しいです。使用push.default simple方法は、ある意味では、ブランチでトラッキングを構成するのと同じなので、プッシュとプルの際にリモートとブランチを指定する必要はありません。このmatchingオプションは、すべてのブランチをデフォルトのリモート(対応するリポジトリを構成していない限り最初にセットアップされたリモート)の対応するブランチにプッシュします。

OS X Mountain LionでGit 1.8を実行していて、このエラーを見たことがないということを他の人が将来役立つことを願っています。Mavericksにアップグレードすると、突然Mavericksが表示されます(実行git --versionするgit version 1.8.3.4 (Apple Git-47)と、OSのアップデートまで見たことのないものが表示されます。


2
Mavericksにアップグレードした後も、私はこれを見始めました。つまり、GitはMavericksと同時にアップグレードされたと思います。
2013年

8

simple設定の値についてgitからメッセージが出た場合は、を確認してくださいgit version

アップグレード後XCode(上のMacランニングMountain Lionもアップグレード)、gitから1.7.4.41.8.3.4アップグレードがまだgitの実行していた前に、シェルが起動1.7.4.4をし、値不満simpleグローバル設定でpush.defaultため。

解決策は、古いバージョンを実行しているシェルを閉じてgit、新しいバージョンを使用することでした!


13
私は新規インストールのXcodeを使用しています(gitのは、バージョン1.8.5.2です)、私は走ったまで、私はまだ、このエラーを持っていた:git config --global push.default simple
サム・グラハム

2

Ubuntu 16.04(Git 2.7.4に付属)ではそのような警告メッセージが表示されるのに、Arch 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.