1. ホーム
  2. git

[解決済み] Git LFSで追跡したファイルを通常のGitで移動させる

2023-02-14 14:36:25

質問

あるプロジェクトで、動画ファイルを Git LFS で保存しています。現在、ビルドサーバーがまだ Git LFS をサポートしていないため、複雑な状況に陥っています。外部サービスであるため、ビルドプロセスに影響を与えることはできません。したがって、ファイルを Git LFS から "regular" Git に戻したいと思っています。ファイルタイプの追跡を解除するには git lfs untrack '<file-type>' しかし git lfs ls-files は以前に追加されたファイルのリストを与えることに変わりはありません。

ファイルを削除し、変更をプッシュし、手動で再追加することができると想像していますが、これは本当に推奨される方法なのでしょうか?

どのように解決するのですか?

最近、あるブランチの git-lfs に誤って追加されるはずのない資産が追加されてしまうという問題に遭遇したところです。私の解決策は

git lfs untrack '<file-type>'
git rm --cached '<file-type>'
git add '<file-type>'
git commit -m "restore '<file-type>' to git from lfs"

結果、git-lfsのoid sha256ポインタを標準のファイル内容で書き換えたものになります。


(2019-03を編集)。受理された回答は、より単純なケースに対する簡単な解決策を提供するように変更されました。また、以下の の編集は、VonCによる回答で を参照してください。