facebook twitter hatena line email

「Git/github/他gitからgithubへ移動」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(git内の大きいファイル履歴をlfs化か削除)
(lfsが登録できない場合)
行40: 行40:
 
git lfs ls-files
 
git lfs ls-files
 
git lfs ls-files --size # サイズ表示したい場合はこちら
 
git lfs ls-files --size # サイズ表示したい場合はこちら
 +
git lfs ls-files --all # 登録したファイル履歴も全部を出したい。
 
</pre>
 
</pre>

2025年6月6日 (金) 02:36時点における版

準備

Git LFS のインストール(macであれば)

brew install git-lfs

lfsを初めて使うリポジトリで必須

git lfs install

他gitからgithubへ移動の手順

bitbucketからの例

  1. bitbucketからcloneされたレポジトリのdirを、backupしておく
  2. bitbucketのレポジトリのbranchを、それぞれpullして最新へ
  3. bitbucketのremoteのurlを削除する
    git remote rm origin
  4. githubのremoteのurlを追加する
    git remote add origin git@github.com:user1/project1.unity.git
  5. github側へ各branchをpush

100MB問題でpushできない場合は以下項目を確認する。

git内の大きいファイル履歴をlfs化か削除

# リポジトリサイズ確認
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 # 登録したファイル履歴も全部を出したい。