Push/Pullで実は必ず活用している、Gitにおける「refspec」の概念を紹介します。なおここでは、Gitのpush/pullについての解説はしません。
refspecとは?
git pushをする場合を考えます。初学者さん向けの記事では、その構文は以下のように書かれていると思います。
$ git push origin master
解説としては、「”origin”という名前で登録してあるGitHub上のリポジトリにmasterブランチをプッシュする」というかたちになるでしょうか。わたしも、新人さん向けにはそういう風に言うことが多いです。
が、ここではもう少し深掘りしてみたいと思います。4語目”master”の部分です。これは正確にはrefspec(多分reference specificationの略)と呼ばれるもので、「参照元と参照先との情報」を表しています。git pushの時には参照元=ローカルブランチで、参照先=リモートブランチです。git pullする際にはこの関係が逆になります。
上にあげたように”master”ひと単語で済ますのは、実はrefspecの省略記法で、...(以下詳細はこちらで公開中です)