GitHubのコマンドで サブモジュールを含む新ブランチ作成にはまったので備忘録
目的
サブモジュールを含むブランチを作成するのはいろいろ面倒なのでコマンドで実施
やり方
①ローカルリポジトリに移行
cd /d d:
cd D:\githubtest\NewBranch_command
②リモートから特定のブランチを指定して複製する(サブモジュールも最新版取得される)
git clone -b develop --recursive https://github.com/●●●●/NewBranch
■■■■■■■↓↓サブモジュールの設定↓↓■■■■■■■■■■■■■■■■■■■■■■■
※以下の作業を全てのサブモジュールを取得して繰り返し行う(未実装)
■②サブモジュールをプッシュする(新ブランチ名:testCmdNewBranch)
②-1 サブモジュール場所に移動
cd D:\githubtest\NewBranch\src\Libraries
②-2 チェックアウトして切り替え
git checkout -b testCmdNewBranch origin/develop
②-2 対象範囲全て
git add .
●ここでテスト用に修正(新ブランチだよ目印)
②-3 コミットしてコメントを追加
git commit -m 'commmandtest'
②-3
git push origin testCmdNewBranch
②-4
③サブモジュール【testCmdNewBranch】をプルする
git pull origin testCmdNewBranch
■■■■■■■↑↑サブモジュールの設定↑↑■■■■■■■■■■■■■■■■■■■■■■■
④メインモジュールをコミット(サブモジュールの切り替えを確認)
④-1 メインモジュールに移動
cd D:\githubtest\NewBranch\
④-1 対象範囲全て
git add .
④-2 ローカルブランチを作成してチェックアウトして切り替え
git checkout -b testCmdNewBranch origin/develop
④-2 サブモジュール切り替えをコミット→modified: エラーはaddがない
git commit -m 'commmandtest-submoduleupdate'
⑤メインモジュールを【testCmdNewBranch】名でプッシュ
git push origin testCmdNewBranch
⑥メインモジュール【testCmdNewBranch】をプルする
git pull origin testCmdNewBranch
●で行った変更が反映されているか確認
サブモジュールを含む時に気を付けたい事
④-1 対象範囲全て
git add .をぬかすとうまく更新されないから注意してください。
その他エラー
エラー内容
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
ffatal: early EOF
atal: The remote end hung up unexpectedly
fatal: index-pack failed
解決策
バッファサイズを増やす必要があります。
git config --global http.postBuffer 524288000
gitでプッシュした時に「error: RPC failed; result=22, HTTP code = 411」と表示された時の対処