質問: 題名通りです。 ``` git fetch ``` を行うと、remoteのHEADを取得できますが、 ``` git fetch origin master ``` を行うと、remoteのHEAD^が取得されます なぜでしょうか? ----補足 ``` >>> git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/master ```
回答: 直接の疑問解決となる回答にはならずに恐縮ですが、 `-v`, `--verbose` オプションを付けて実行してみると、挙動を掴む手がかりになるかもしれません。 例: ``` $ git fetch -v >only-fetch.log $ # 細かい動作ログを only-fetch.logに保存。 $ git fetch -v origin master >add-master-fetch.log $ # こちらも同じくログがいっぱい出てくる。add-master-fetch.log に保存。 $ # それぞれのログを比較する。例えば以下の様に $ diff -u only-fetch.log add-master-fetch.log ``` 参考資料 ==== * Git - git-fetch Documentation * diff - コマンド (プログラム) の説明 - Linux コマンド集 一覧表 * 入力と出力 | UNIX & Linux コマンド・シェルスクリプト リファレンス