facebook twitter hatena line email

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

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
行1: 行1:
 +
==準備==
 +
Git LFS のインストール(macであれば)
 +
brew install git-lfs
 +
 +
lfsを初めて使うリポジトリで必須
 +
git lfs install
 +
 
==他gitからgithubへ移動の手順==
 
==他gitからgithubへ移動の手順==
 
bitbucketからの例
 
bitbucketからの例
行5: 行12:
 
#bitbucketのremoteのurlを削除する <pre>git remote rm origin</pre>
 
#bitbucketのremoteのurlを削除する <pre>git remote rm origin</pre>
 
#githubのremoteのurlを追加する <pre>git remote add origin git@github.com:user1/project1.unity.git</pre>
 
#githubのremoteのurlを追加する <pre>git remote add origin git@github.com:user1/project1.unity.git</pre>
 +
 +
==git内の大きいファイル履歴をlfs化か削除==
 +
<pre>
 +
# リポジトリサイズ確認
 +
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
 +
</pre>

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

準備

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

brew install git-lfs

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

git lfs install

他gitからgithubへ移動の手順

bitbucketからの例

  1. bitbucketからcloneされたレポジトリを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

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