問題タブ [bfg-repo-cleaner]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - Git BFG がさかのぼって LFS を有効にする - 保護されたコミットの問題
大きなファイルがあり、新しい Git LFS システムを使用しようとしていました。
この質問を投稿しました - Git lfs - 「これは GitHub のファイル サイズ制限の 100.00 MB を超えています」
Edward Thomson は私の問題を正しく特定しました - LFS をさかのぼって使用することはできません。彼は、BFG LFS サポートを使用することを提案しました
これはある程度機能しました。ファイルの大部分が変更されました。ただし、変更されていない保護されたコミットがありました。
これらの保護されたコミットのうち、一部は 100.00MB を超えていたため、github からの remote:error が発生しました。
まず第一に、なぜこれらのコミットが保護され、BFG が正常に変更されたものと異なるのかを誰か説明できますか?
第二に、これらの保護を解除し、BFG がそれらを編集できるようにするにはどうすればよいですか。これにより、LFS を正しく使用して、最終的に GitHub に正常にプッシュできます。
git - Git とリポジトリのサイズ
さて、私はこのリモート リポジトリを bitbucket に持っていて、過去 6 か月間ローカル ファイルを操作していませんでした。さて、今日、かなりの量の作業の後、見逃したコードをコミットしてプッシュしようとしましたが、操作に30分以上かかり、まったく進行しなかったためキャンセルしました(99%でスタック)。以前はそうではなく、ほぼ瞬時にそうなったので驚いています。
- だから私は自分のアプリケーションのサイズを確認します:ファインダーによると660MB
- .git フォルダーは 600MB です
- リモート部分では、レポは178mbです
大きなファイルが多すぎてローカルリポジトリが壊れていると思い、bfg を実行することにしましたが、1MB を超える BLOB が見つかりませんでした。
vendor フォルダを除いた symphony2 のインストールです。
これは進行中のプッシュです 10 分
Writing objects: 99% (532/533), 203.39 MiB | 249.00 KiB/s
他に何をすべきかわかりません。助言がありますか ?
git - Git リポジトリのサイズは、BFG Repo Cleaner の使用後に増加しました
BFG Repo Cleanerでレポをクリーンアップしました
上記のコマンドからの出力:
ローカル リポジトリが 6.4G から 1.4G に縮小したことがわかります。偉大な。今プッシュしてみる
git push が機能しなかったため、次のエラー メッセージが表示されました。
その後、レポの新しいクローンを作成しましたが、今回は驚いたことに、レポのサイズが 7.4G と大きくなりました。ここで何が起こったのか本当にわかりません。修正に関する情報が必要です。
git - テキストを BFG に置き換え、フォークが数百コミット前後にあることを示しています
私は最近プロジェクトをフォークし、数十回コミットした後、ファイルから削除したい機密情報があることに気付きました。そのファイルのコミットのみを元に戻し、変更を 1 つとしてやり直すか、場合によってはテキスト文字列を置き換えることによって、それを削除したいときに、BFG を見つけました。私が実行したのは:
そして、BFG出力で示唆されているように、「git reflog expire…」。リモートに強制的にプッシュした後、私のフォークは次のように言います:
変更を 1 つのコミットとして再フォークして追加したくない場合を除き、元に戻すには遅すぎる可能性があります。修正はありますか?
編集:私の状況は、ここにあるものと非常によく似ています:
git log には何も問題はありませんが、他のアプリを使用すると、コミットごとに履歴全体が重複していることがわかります。Github Desktop にも master と originalproject/master の 2 つのブランチが表示されますが、以前は master しか表示されていなかったのを覚えています。次のステップを理解するのに十分なほど git についてよく知りません。ログのコミット ID を使用して git reset --hard master xxxx を試行すると、「パスでハード リセットを実行できません」と表示されます。
git - ミラーリングされたリポジトリまたは元のリポジトリで BFG を実行する必要がありますか?
もう存在しない 2 つのファイルを git リポジトリから削除したいと考えています。
私はそれらを入れ、コミットし、プッシュしようとしましたが、大きすぎました. それで私はそれらを取り出し、作業を続け、コミットしてプッシュしようとしましたが、それでも同じエラーが発生しました。彼らはまだ歴史のどこかに残っていると思いました。
私はそのブランチで作業を続け、さらに 1 つのコミットを行ったため、問題を悪化させたと思います。次に、そのブランチを master ブランチにマージしました。
そこで、解決策を探してbfgを見つけました。
しかし、ページの指示は私には意味がありません。
最初に、
どこからクローンを作成すればよいですか? github.com のリモート リポジトリには、大きなファイルを追加した後に行ったコミットとマージがありません。しかし、指示は、とにかくそこから取得することになっているように思わせます. (ローカルリポジトリから複製しました。)
次、
some-big-repo.git
ミラーリングされたリポジトリですか、それとも通常のローカル リポジトリですか? (これにはミラー化されたリポジトリを使用しました。)
そして、履歴が更新されていることを確認して試してみたところ、
(私はこれのためにミラー化されたクローンにいました) エラーが発生しました。
これは私には理にかなっています。ええ、私は現在master
チェックアウトしています。しかし、それでは、私は他に何をすべきだったのでしょうか? 別の方法で試した場合にのみ、問題が発生することがわかります。
git - ローカルリポジトリのすべてのブランチをリモートと同じになるようにリセットします
まず、これは 1 つではなくすべてのブランチに適用されるため、これは異なります。(私が見つけたすべてのものは、一度に 1 つのブランチに対してのみこれを指定します)
私は約20〜30のブランチを持つレポに取り組んでいます(私が知っている長い話の悪い習慣です)
とにかく、git bfg クリーナーを使用していくつかの古いコミットを削除していました。それを使用した後は、コードを削除して再クローンするか、すべてのブランチをリセットする必要があります。
を使用してブランチを設定する方法を知っています
しかし、1 つのコマンドですべてのブランチをリセットする方法はありますか、それとも一度に 1 つのブランチで行う必要がありますか?
コピーや書き換えを行いたくないので、多くのローカル ファイルを無視しています。(IDE ファイル、コンピューター構成ファイルなど)
git - BFG Repo Cleaner が期待どおりに機能しない
大きなレポ (~3.4 G) のサイズを縮小しようとしていますが、bfg-repo-cleaner はそのサイズを縮小するための完璧なツールのように思えました。
ドキュメントに記載されているようにツールを実行しましたが、リポジトリのサイズがわずかに縮小しただけです。特に驚くべきことは、ツールによって削除されたと言われているブログ (deleted-files.txt) の一部 (すべてではない) がまだリポジトリに残っていることです。私は本当に git filter-branch をいじりたくないので、助けていただければ幸いです。
効果を最大化するために、積極的な --no-blob-protection オプションを意図的に使用しました。切り捨てられた出力で実行したコマンドを含めました。
git count-objects -vH
デュ -rh -d 0
java -jar ~/Downloads/bfg-1.12.12.jar --strip-blob-bigger-than 2M --no-blob-protection ./
git count-objects -vH
デュ -rh -d 0
git reflog expire --expire=now --all && git gc --prune=now --aggressive
git count-objects -vH
head ..bfg-report/2016-04-18/10-24-49/deleted-files.txt
git cat-file -s 8afa72875d3013620bb122916bd1ec33a066cbf2