質問

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

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

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

ローカルの変更をファット ブランチに戻すのはどれくらい難しいでしょうか (何をしなければならないでしょうか)?

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

役に立ちましたか?

解決

ブランチを作成し、ブランチから結果ファイルを削除した場合、ブランチを master にマージして戻すと、master から結果も削除しようとします。ファイルの削除は、他のファイルの削除と同様に変更です。

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

他のヒント

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

を参照してください。 git チェリーピックのマニュアル.

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top