13
13

More than 5 years have passed since last update.

Git のリモートブランチとかの用語

Posted at

ブランチ関連の用語がまぎらわしくてわかりにくいことがあるのでメモ。

ローカルブランチ

  • ローカルリポジトリのブランチ
  • refs/heads/* (refs/heads/master とか)
  • git commit/merge とかで更新される

追跡ブランチ

  • ローカルブランチのうち config で次の設定があるもの
    • branch.<local-branch>.remote
    • branch.<local-branch>.merge
  • 主に次のようなコマンドで設定される
    • git branch <local-branch> <remote-branch>
    • git checkout -t <remote-branch>
    • git push -u <remote-repository> <local-branch>:<branch of remote-repository>
  • このブランチ上で push や pull すると自動的にプッシュ先やプル元となるリモートリポジトリのブランチが選択される(こともある)

リモートブランチ

  • ローカルリポジトリにある、リモートリポジトリ上のローカルブランチのコピー
  • refs/remotes/* (refs/remotes/origin/master とか)
  • config の次の設定によってマッピングが決められる
    • remote.<remote-repository>.fetch
  • git fetch/pull/push とかで更新される
    • fetch/pull はリモートリポジトリのローカルブランチを取得して、ローカルリポジトリのリモートブランチを更新する
    • push はローカルリポジトリのリモートブランチと、リモートリポジトリのローカルブランチを更新する
  • 直接のチェックアウトはできない
    • やると HEAD がブランチから外れる
  • リモート追跡ブランチ(remote-tracking branch) と呼ばれることもある
    • どちらかといえば リモート追跡ブランチ の方が正しい気がする
      • git の man だと remote-tracking branch が多い

まぎらわしいのがこの辺り・・・

  • リモートブランチ != リモートリポジトリのローカルブランチ
  • 追跡ブランチ != リモート追跡ブランチ
  • ローカルリポジトリ contains 追跡ブランチ

参考 ... Git - リモートブランチ

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13