Gitもまだよく分かっていない

公開しているプログラムはだいたいGithubを使っていて、基礎的な使い方はだいたい分かったつもりなんだけど、やっぱりつまづくことは多い。


git pullでGithubが持っている更新を持ってこようとしたときに

$ git pull
Enter passphrase for key '/Users/sugyan/.ssh/id_rsa': 
You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
your configuration file does not tell me either.  Please
name which branch you want to merge on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details on the refspec.

If you often merge with the same branch, you may want to
configure the following variables in your configuration
file:

    branch.master.remote = <nickname>
    branch.master.merge = <remote-ref>
    remote.<nickname>.url = <url>
    remote.<nickname>.fetch = <refspec>

See git-config(1) for details.

というのが出てくる。よくわからないので調べてみて辿り着いたのが

これはgit側の話で、cloneしたときはclone元からpullできるように設定されるが、initしてpushした場合は当然そう言う参照関係にはならないよってことですね。

というところ。最初にrepository作ったときの設定だとそのままじゃpullできない、、のか?

$ git config branch.master.merge refs/heads/master
$ git config branch.master.remote origin

とやって設定してやったらpullできるようになった。