Git/github/他gitからgithubへ移動
提供: 初心者エンジニアの簡易メモ
準備
Git LFS のインストール(macであれば)
brew install git-lfs
lfsを初めて使うリポジトリで必須
git lfs install
他gitからgithubへ移動の手順
bitbucketからの例
- bitbucketからcloneされたレポジトリのdirを、backupしておく
- bitbucketのレポジトリのbranchを、それぞれpullして最新へ
- bitbucketのremoteのurlを削除する
git remote rm origin
- githubのremoteのurlを追加する
git remote add origin git@github.com:user1/project1.unity.git
- ローカルブランチ間で、mergeする必要のものがあれば、対応しておく
- 不要なlfs履歴がないか確認する。以下で、ハイフンファイルが有れば使ってないので消す。
git lfs ls-files --all
- github側へ各branchをpush
100MB問題でpushできない場合は以下項目を確認する。
git内の大きいファイル履歴をlfs化か削除
以下リンク先を、まずは検討する
git/大きなファイル履歴削除 [ショートカット]
無理そうなら以下を確認。
# リポジトリサイズ確認 git count-objects -vH # 再度大きなファイルを検出(削除を確認) git rev-list --objects --all | \ git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' | \ awk '/^blob/ {print substr($0,6)}' | \ sort --numeric-sort --key=2 | \ tail -n 10 # まだあるファイルの場合は該当ファイルを LFS に移行 git lfs migrate import --include="Assets/Firebase/Plugins/x86_64/FirebaseCppApp-11_8_0.bundle" # もう無いファイルは、大きいファイルのgit履歴を削除(物理ファイルが削除されることがあるので気をつける) git filter-repo --force --invert-paths --path docs/hogehoge.key
lfsが登録できない場合
以下ls-filesが表示されないときは、lfsに登録されてない
git lfs ls-files git lfs ls-files --size # サイズ表示したい場合はこちら git lfs ls-files --all # 登録したファイル履歴も全部を出したい