やりたかったこと
リモートリポジトリから派生してブランチを新規作成
実行手順
- vscodeでコマンドパレットを開く(ショートカット:Ctrl+Shift+P)
- 「git checkout」と入力して、「Git: Checkout to...」を選択
- 親ブランチを選択 → ここで親ブランチにしたいリモートリポジトリがでてこない!!
原因:リモートのブランチがローカルに反映できていなかった
そもそもGitの仕組みがよく分かってない
こんな感じで、ブランチごとローカルに持ってきているみたい
(なんとなく今さわってる変更点だけがやりとりされるんだと勘違いしてた)
解決方法:一度リモートリポジトリの情報を消して、再度追加する
現在のリポジトリからリモートのリポジトリを削除する
書き方
$ git remote remove [削除するリモートリポジトリ名]
例
$ git remote remove origin
リモートリポジトリの追加
書き方
$ git remote add [追加するリモートリポジトリ名] [追加したいリポジトリ]
例
$ git remote add origin http://xxxxxx.xxx/xxxx
リモートリポジトリの最新の履歴の取得
例
$ git fetch
確認
例
$ git branch
* (HEAD detached at origin/issue/xxx)
master
test
test2
masterブランチに移動してみる
例
$ git checkout master
Previous HEAD position was 096e3bd949 feature(#xxx):ローカルブランチ新規作成
Switched to branch 'master'
再確認
例
$ $ git branch
* issue/xxx
master
test
test2
OK!!
おまけ:git fetch
git fetch ってなにしてるコマンドかいまいちわかってないので、再確認
- リモート リポジトリからローカル リポジトリにコミット、ファイル、参照をダウンロードする
- リモート コンテンツがダウンロードされるが、ローカル リポジトリの作業状態は更新されず、現在の作業がそのまま残る(git pullよりも安全)
- リモートから最新情報をローカルに持ってくるが、場所は「master」ブランチではなく、「origin/master」ブランチに取り込まれる
- 「master」ブランチ
- ローカルの中心となる統合ブランチで、他のローカルの作業ブランチと繋がったもの。
- 「origin/master」ブランチ
- ローカルにある、リモートのmasterブランチを追跡するリモート追跡ブランチ。
- 「master」ブランチ
参考