ほとんどのバージョン管理システム(VCS)はテキスト用に設計されています。それらは通常diff
、ソースコードの比較()およびマージのための非常に強力で便利な機能を備えており、一部のツールは変更を自動的にマージすることもできます(変更をマージする方法と、開発者に依頼する必要がある時点を推測する適切な仕事をします)手動マージ)。
diff
これらのファイルを使用するそれぞれのアプリケーションからのバイナリファイルのサポートとマージを改善することは素晴らしいことです。たとえば、Microsoft Wordは2つのドキュメントを比較することを可能にします。これは便利なマージツールではありませんが、何もしないよりはましで、何度も何度も時間を節約できます。残念ながら、マージ機能は通常、ソフトウェア製品で監視されているか、実装が困難です(diff
3Dシーンのをどのように視覚化しますか?)
バイナリファイルに関しては、VCSからほとんど助けを得ません。一連の変更を効率的に保存できないだけでなく、変更をマージすることもできません。
2年前、ビデオ編集ソフトウェアでのバージョン管理の使用に関して非常によく似た質問をしました。私の質問に対する回答の一部はここにも当てはまると思います。唯一の(しかし重要な)違いは、私の質問は大きなファイルに関するものであり、バイナリファイルはおそらく比較的小さいということです。
あなたが見つけたアプローチ、つまり「同じオブジェクトに順番に取り組む」は良いものです。マージできない場合は、同じもので並行して作業しないでください。同じオフィスで仕事をしているなら、それは簡単です。そうでない場合、ほとんどのバージョン管理システム(使用するものを含む ;これはBitBucketのコンテキストでも説明されています)はロックをサポートします。これは、VCSのユーザーがシステムを通じて、指定されたファイルの権利に取り組んでいることを通知するためのものです。今; 他のユーザーはファイルの最新バージョンをロードできますが、変更することは想定されていません。