kabablog
Programming

GitBucketのリポジトリをGitLabのリポジトリに引っ越しした時の試行錯誤

前提の環境

  • 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

を消しておきましょう。

Blog Ranking Site

よかったら応援クリックお願いします!

にほんブログ村 旅行ブログ 東南アジア旅行へ
にほんブログ村 にほんブログ村 旅行ブログへ
にほんブログ村 PVアクセスランキング にほんブログ村