問題 641は同じ問題に言及しています。
git lfs uninit
Git LFS の使用を停止しようとしましたが、git lfs untrack
,を使用して以前に追跡されたポインター ファイルを元に戻す方法が見つかりませんでしたgit rm
... これらのファイルを元に戻した後も、Git LFS によって追跡されているようにリストされます。Git LFSgit lfs ls-files
全体をオプトアウトするにはどうすればよいですか?私のレポからのもの?
答えは次のとおりです。
- すべての filter.lfs.* git config エントリを削除します
git lfs uninit
。
- ファイルの種類ごと
.gitattributes
に実行するか、これまでに使用したことが LFS だけの場合は削除して、lfs フィルターを使用する属性をすべてクリアします。git lfs untrack
.gitattributes
この後、追加されたファイルはすべて git に直接送られます。
しかし、これはそれほど単純ではありませんでした:
.git/lfs
その後、作業ディレクトリに LFS ポインター ファイルが作成され、それらのポインターに格納されている sha1 ハッシュを手動で使用して、すべての写真を復元する必要があります。
2016 年 3 月の更新、問題 957は、次の方法で可能な解決策を示していますtstephens619
。
私はgit lfs
追跡リストにいくつかの小さなグラフィック形式を含めるという同じ過ちを犯しました.
次のようにして、このファイルを git に戻すことができました。
によって現在追跡されているすべてのファイルのリストを作成しgit-lfs
、フィルターで除外します*.gz
(*.rpm
これらの拡張子を引き続き追跡したいgit-lfs
)
git lfs ls-files | grep -vE "\.gz|\.rpm$" | cut -d ' ' -f 3 > ~/temp/lfs-files.txt
小さなグラフィック ファイルの追跡を停止する
git lfs untrack "*.tts"
git lfs untrack "*.bfx"
git lfs untrack "*.ttf"
git lfs untrack "*.xcf"
git lfs untrack "*.pkm"
git lfs untrack "*.png"
一時的に uninit するgit-lfs
git lfs uninit
# Git LFS 2.x+
git lfs uninstall
ファイル リストを使用して、各ファイルに触れます。
cat ~/temp/lfs-files.txt | xargs touch
git status
各ファイルが変更済みとして表示されるようになりました
メンテナttaylorr
は次のように付け加えます。
これを行う1つの方法は次のとおりです。
for file in $FILES_TO_REVERT; do
git lfs untrack "$file";
git rm --cached "$file";
git add --force "$file";
done
git commit -m "..."
Git および Git LFS によって提供される磁器コマンドを使用すると、さまざまな方法で可能であるため、上記の効果のために Git LFS にコマンドを追加しないことをお勧めします。