「Git/github/他gitからgithubへ移動」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→他gitからgithubへ移動の手順) |
|||
行18: | 行18: | ||
==git内の大きいファイル履歴をlfs化か削除== | ==git内の大きいファイル履歴をlfs化か削除== | ||
+ | |||
+ | こちらをまずは検討する | ||
+ | |||
+ | [[git/大きなファイル履歴削除]] [ショートカット] | ||
+ | |||
<pre> | <pre> | ||
# リポジトリサイズ確認 | # リポジトリサイズ確認 |
2025年6月6日 (金) 23:11時点における版
準備
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
- 不要な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 # 登録したファイル履歴も全部を出したい