今までpushする時はちゃんと
git push origin hoge
とリモートと、ブランチ名をセットで律儀に書いてた。 そろそろめんどくさいなぁと思って来たので、 省略するのどうするのか?と調べてみた。
- http://dqn.sakusakutto.jp/2012/10/git_push.html - http://www.yunabe.jp/docs/relearning_git_push_default.html - http://qiita.com/awakia/items/6aaea1ffecba725be601
この辺がわかりやすかった。
注意したい事は以下
- 省略した場合の挙動は、5つのパターンがる。
- 一番危ないのが
matching
になっている時。しかも、gitの1.x系ではこれがデフォルトになっているからやっかい。 - すぐに
git config --global push.default simple
をしてリスク回避推奨
simpleモードにしたけど、すぐにcurrentモードにした
これは、upstreamが設定されていて、なおかつ、 リモートに同じブランチが存在している時に発動する。
simpleという名前に惹かれたけど、ローカルでブランチ切って、一番最初にpushする時に、
git push -u origin hoge
という風にしなきゃいけない。じゃないと、upstreamが設定されないし、 リモートにブランチが作られない。
ちょっとした細かい変更をpushしてプルリク出して、とかするケースがあって、 それなりにめんどくさそうだった。。。
なので、currentモードに!
基本的に現在のブランチ名をそのままリモートにpushする事以外ないので。 これで結構楽になるかなー。
気をつけない事
普段使うgitのバージョンは2系だし、currentモードにする設定を入れるから問題なし。
でも、違う環境を触る時にいつもの癖でgit push
とかやってしまうと、
なんかミスが起きそう。。。(汗)