前提の環境
- Windows10
- GitBash
引っ越しする際の手順
cloneする際、タグなどすべてのリポジトリ資材を移動する際には、–mirrorオプションをつける必要があります。また、pushするときも同様に–mirrorオプションを付けます。
簡単に記載すると以下のような手順で引っ越しを実施します。
URLとリポジトリ名は仮です。
$ git clone --mirror https://gitbucketurl/sample/sample.git
$ cd sample.git
$ git push --mirror https://gitlaburl/sample/sample.git
通常ですと、上の手順でうまくいきますが、まれに以下のようなエラーが出ることがあります。
理由は後ろで説明します。
(省略)
Enumerating objects: 2278, done.
Counting objects: 100% (2278/2278), done.
Delta compression using up to 8 threads
Compressing objects: 100% (1091/1091), done.
error: RPC failed; HTTP 502 curl 22 The requested URL returned error: 502 Bad Gateway
fatal: the remote end hung up unexpectedlyiB | 1.56 MiB/s
Writing objects: 100% (2278/2278), 22.54 MiB | 2.50 MiB/s, done.
Total 2278 (delta 757), reused 2278 (delta 757)
fatal: the remote end hung up unexpectedly
(省略)
このエラーは、git push時のデフォルトのファイル容量の制限に引っかかってしまったからです。
引っ越し対象のファイル容量を確認します。デフォルトは1MBです。
$ du -h
もし、全体で1MB以上の場合、容量制限にかかっているようです。
対策
gitconfigファイルを編集します。
$ vi ~/.gitconfig
[http]
postBuffer = 5242880
もしくは以下のコマンドを入力します。
$ git config --global http.postBuffer 5242880
上は50MBの場合で、50 * 1024 * 1024 = 5242880
再度 git push
$ git push --mirror https://gitlaburl/sample/sample.git
うまくいくはずです。
後片付け
作業がうまくいったら
$ vi ~/.gitconfig
[http]
postBuffer = 5242880
を消しておきましょう。
Sponsored Links
Sponsored Links