LoginSignup
3
8

More than 5 years have passed since last update.

BitbucketからGitHubに移行するのに四苦八苦したので記憶記事

Last updated at Posted at 2018-05-18

※先に伝えますが私はコミットとプッシュとプルしか行わないようなただの大学生です。

経緯

今までBitbucketを使っていたのですがGitHubの緑のあれが気に入ってしまって、気づいたら課金をしていました。そこでBitbucketからGitHubへ移行することにしました。

通常の移し方

GitHubの機能によりURLを乗っけるだけで簡単に移せます。
参考サイトURL : https://qiita.com/tackeyy/items/74e87a0300fc091ef259

通常はこれでいけるのですが、今回プッシュ及びリポジトリの容量制限によりBitbucketでは管理出来たのにGitHubでは管理できないものがありました。最初は分からず何度も試してました。
そのせいでメールボックスには"failed"が沢山届いています。つらいです。

対策(Git LFS)

それを直すために、まずは容量を減らすことを考え、Git LFSを使いました。
いろいろと調べたのですが、私がよく使っているSourcetreeでは少しやり方が違っていました。
参考サイトURL : http://blog.techlab-xe.net/archives/4390

SourcetreeではGiとGit LFSを入れなくてもSourcetreeに入っているので大丈夫なはずです。
(私はこんなものがあることは知っていたのですがGit Bashに該当するとはつゆも知らずGitとGit LFSを入れました。)

無題3.png
これがGit Bashに該当するものです。

無題4.png
これがそれを開いた直後のものです。このときのGit LFSのバージョンは2.4.0です。

そしてgit LFSに管理するものを指定します。

$ git lfs track "*.png"

指定したら確認します。

$ git lfs track
Listing tracked patterns
    *.png (.gitattributes)

上のようになっていたら[.gitattributes]が自動生成され、コミットするよう指示されます。

ですが、これだけでは最新のコミットのみに適応されるだけで過去のコミットには適応されません。
一回のプッシュ容量的にGitHubの移行は失敗すると思われます。

対策2

そのため過去のコミットも軽量化します。
これについてはこのサイトを参考にしました。私では理解がまだ足りていないので、細かい説明は割愛します。
参照サイトURL : https://qiita.com/ikmski/items/0faf9eae808ff29f6358

嬉しい

そうすることで以下のようになります。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3235323438352f35336364366336652d333861392d393731322d623562612d3037623264333566333566312e706e67.png
このようにBitbucketのリポジトリ詳細に[Git Large File Storage]に容量が記載されます。サイズはなんとなく隠しました。(LFSでバレるけど…)

このあとで一番上のようにGitHubにコミットすれば移行が成功します。
途中でLFSをどう扱うかの確認が出ますが適宜対応してください。

3
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
8