Help us understand the problem. What is going on with this article?

git push時に表示されるwarning: `push.default is unset...`の意味と解決方法

More than 5 years have passed since last update.

(おそらく)git v1.8から以下のようなメッセージが出るようになった人は多いと思います.この意味を解説します.

$ g 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

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)

push.default: simple? matching?

push.defaultは,git push時にrefspec(ブランチ名やタグ名)を指定しなかったときの挙動を設定する.(例えばgit push, git push originとしたとき)
push.defaultのデフォルト設定がGit 2.0でmatchingからsimpleに代わる.

simple

現在のブランチをupstreamのブランチにpushする.ただしupstreamのブランチ名が現在のブランチと異なる場合はpushしない.
"This is the safest option and is well-suited for beginners."とのこと.あまり起きなさそうだけど,間違ったブランチをtrack設定してしまったときなどはpushできないので安全?

matching

git push時に同名のブランチ(=マッチするブランチ)をそれぞれpushする.いままでのデフォルト.

その他

push.defaultに設定できる値としては以下がある.

  • nothing
    • pushしない.つまり必ずgit push origin masterのようにrefsを指定する必要がある.
  • current
    • 現在のブランチを同名のリモートブランチにpushする.
  • upstream
    • 現在のブランチをupstreamのブランチにpushする.

結論

warningの通り,いまのgitの挙動を保ちたいならmatching,現在のbranchのみ安全にpushしたいならsimpleにするとよい.

git config --global push.default matching
# or
git config --global push.default simple
yaotti
Qiitaを作っているIncrements株式会社の創業者
http://yaotti.hatenablog.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした