4

多くのデータ ファイル (シミュレーション結果) を生成するプロジェクトで git を使用しています。私は、同じリポジトリでこれらすべての結果をバージョン管理および追跡することを「強制」されています。(これは厳しい要件であり、変更することはできません)

しかし、私はそれらを必要としません。プロジェクトには約 50 MB、リポジトリには 5 GB の結果があります。

ブランチを作成し、すべての結果を削除し、このブランチをチェックアウトして、そのブランチでのみ作業することは可能ですか?

ローカルの変更をファット ブランチにプッシュするのはどれほど難しいでしょうか (何をしなければならないでしょうか)。

私の仕事のためにこれらの 5 GB を取り除くためのより良い解決策はありますか?

4

3 に答える 3

2

ブランチを作成し、1回のコミットで不要なファイルを削除すると、データファイルを削除するコミットをマージせずに、後続のコミットをメインブランチにチェリーピックできるはずです。

gitcherry-pickのマニュアルを参照してください。

于 2008-09-16T19:24:24.030 に答える
2

ブランチを作成し、ブランチから結果ファイルを削除する場合、ブランチをマスターにマージすると、マスターから結果も削除されます。ファイルの削除は、他のものと同様の変更です。

おそらく、git サブモジュール サポートを使用して、コードの変更を fat リポジトリのサブモジュールとして管理できます。この方法では、ファット リポジトリにすべてが含まれているように見えますが、小さなコード ビットだけを個別に処理することができます。これは、スムーズに動作するために多少の調整が必要になる場合があります。

于 2008-09-16T11:23:02.313 に答える
0

git cherry-pick のほかに、マージの直前にファイル削除の変更に対して git-revert を実行するという別の方法もあります。

于 2009-04-02T19:49:01.677 に答える