0

現在、バイナリ ファイルをソース管理にコミットしており、これらは別の人によって変更されてから再コミットされます。ただし、これによりマージ競合が発生する可能性があります。

現実的には、これらのファイルには画像などが含まれているため、それらをマージしても意味がありません。

バイナリ ファイル間のマージの競合を可能にする git コマンドがあるかどうか疑問に思っています。

IE: 2 つのリポジトリと、共有に使用するベア リモート リポジトリがあります。2 つのリポジトリのユーザーが個別に変更してコミットする image.png ファイルがあります。次に、行った変更をプルし、変更をリモート リポジトリにプッシュします。明らかに、これによりユーザーの 1 人にマージの競合が発生します。しかし、これは画像ファイルには意味がありません。最新のコミットが最新であり、古いコミットがブランチの履歴に追加される可能性はありますか?

これが本来のやり方ではないことは十分承知していますが、これが私がいる状況なので、誰かが解決策を持っているかどうか疑問に思っています.

4

1 に答える 1

0

うん。 git reset置き換えたいバージョンへの競合するパスのみ ( )、それをコミットしてから、置換 (つまり正しい) バージョンを追加 (またはリセット) し、結果をコミットします。メインラインに人為的で一貫性のないコミットがあることが気に入らない場合は、置き換えられたファイルのみの孤立したコミットを作成し (何が起きているかを示すコミット メッセージを使用して)、それをマージの親として追加することもできます。メイン ブランチで選択したバージョンのコミットの。読み進めて、その方法を確認してください。実際には非常に簡単です。git resetthecommitwiththesupersededfiles--pathsgit mktreegit commit-tree

于 2012-11-30T20:45:42.737 に答える