進んでるってなんだ
git は操作はコマンドでやって、全体の確認をツールで行ってるんですが、
$ git pull origin master * branch master -> FETCH_HEAD Already up-to-date.
これなのに、
$ git checkout master Switched to branch 'master' Your branch is ahead of 'origin/master' by 11 commits.
になってしまうときがあります。
グラフ上はローカルのほうが進みまくっててるように見えますが、pull しても、更新するものはありませんって言われている状態です。
この状態で、
$ git checkout -b test origin/master
なんかしてしまったら、グラフ上の origin/master から始まってて、新しいブランチでpush したとき、変な場所から分岐が始まっててとても困ります。mergeするときとか。
解決方法がないかなと調べてみたら、ここがヒットしました。
$ git pull origin
すると、おお! 全部のブランチ連れてきたw
もう一度グラフで見ると位置が
[master] [origin/master]
と同じところになってます。これ、これにしたかった!
$ git checkout master Switched to branch 'master'
よし、commit 進んでるよって言われない!
ローカルで master 確認するのに
$ git pull origin master
ってやってるのがダメなんでしょうか。ローカルになければいいわけで、都度削除してファイル消してみたりしてたんですが、それも面倒くさいです。
https://www.kernel.org/pub/software/scm/git/docs/git-pull.html
このマニュアル見ると、 git pull と、 git pull origin next は違う的な感じに読めます。
Update the remote-tracking branches for the repository you cloned from, then merge one of them into your current branch:
って、前者は update。
Merge into the current branch the remote branch next:
後者は merge。
$ git fetch origin master
って、update だって思ってたんですけど、自分が想っていたような更新という意味での update じゃないみたい。
個別で update ってできないんでしょうかね。
ローカルに連れてくるような使い方がそもそもgit的におかしいんでしょうか。んー、でもなぁ。