

cloneしたのがdevelopブランチだったので、今日業務で下記のコマンドを実行してリモートブランチのmasterをローカルのブランチに落とす作業を行いました。

これってローカルにmasterブランチを作成して、そこにリモートブランチをマージしているという流れになっているのでしょうか。

gitの操作にまだ慣れていなくて、詳しい方教えて下さると幸いです。  
宜しくお願い致します。

[code]

    リモートブランチを同期させる。
    git fetch
    # fetchしたリモートブランチを確認する
    git branch -r
    git checkout -b master origin/master
    
[/code]

### 追記

checkoutはブランチを切り替えるだけなので、個人的に気になるのは下記の内容だと思います。  
これって内部的にはdevelopブランチからmasterを切ってそこにリモートリポジトリのmasterをpullしていてpullはfetch+mergeと聞いたのでmergeが動作していると考えているのですが、いかがでしょうか。

[code]

    git branch master origin/master
    
[/code]

状況はdevelopブランチにいた状態で `git checkout -b master origin/master`
からmasterという名前のブランチを切って、そこにpullしてるイメージなのですが `git log`
を見る限りローカルのmasterブランチにリモートのmasterがマージされた形跡はなかったです。

これと同じ意味だと思うんですけど、これを実行すると指定したコミットログ以下のコミットがあるブランチが作成される。  
ここを `origin/master` にするとリモートリポジトリのmaster最新コミットログを起点にブランチが作成される。  
これはおそらくdevelopとは完全に独立したブランチになる。  
二本柱ができるようなイメージになるんですかねおそらく。

[code]

    // 起点を指定して、ブランチ作成
    git branch <branch> <commit>
    
[/code]

### 参照

下記の記事を見ると上記はマージしてるような事が書いてある  
<https://shu223.hatenablog.com/entry/20130115/1367342778>

質問とは少し関係ないけど、 `git checkout -b master origin/master`
で派生する親のブランチを間違えそのまま開発した際の対処法  
<https://www.granfairs.com/blog/staff/git-mistake-parent-branch>


CC BY-SA 4.0
2022-01-18T14:03:55.850
85778
2022-01-19T14:49:36.277
2022-01-19T14:49:36.277
22565
22565
question
git
git branch master origin/master のブランチを作成した後の動作が分からない


`git checkout` はブランチを切り替えるコマンドであり、マージを行うなら `git merge` を実行する必要があります。

あなたが実行した `git checkout -b master origin/master` は、リモートブランチ "origin/master"
を元にローカルブランチ "master" に切り替えるが、`-b` を付けているのでローカルブランチが存在しなければその場で作成する…になります。

なお、ブランチの切り替えは `git checkout` の代わりに現在は `git siwtch` が推奨されます。

* * *

### 余談

今回の Git に限らず、コマンド等で分からない事があればまずマニュアルを参照することをおすすめします。Git ならコマンドで `git help`
を使うことで man マニュアルと同じように使い方を調べられます。

例: checkout についてなら `git help checkout`


CC BY-SA 4.0
2022-01-18T16:20:19.383
85781
2022-01-18T16:20:19.383
3060
85778
answer