pakimemo

ソフトウェアエンジニアなお話。

git pushを実行できないとき

git pullして次のような出力が出た場合は、アクティブなブランチに対するマージの設定が行われていないからである。

$ git pull
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
specify which branch you want to use on the command line and
try again (e.g. 'git pull  ').
See git-pull(1) for details.

If you often merge with the same branch, you may want to
use something like the following in your configuration file:
    [branch "master"]
    remote = <nickname>
    merge = <remote-ref>

    [remote ""]
    url = <url>
    fetch = <refspec>

See git-config(1) for details.

リモートoriginのmasterとローカルのmasterをpullするには(fetchしてmerge)、次のコマンドで設定してあげるとgit pullのみで出来るようになる。

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

追跡ブランチの設定という作業で、次のコマンドでも同じ設定が行われる。

git push -u origin master