1. ホーム
  2. git

gitバージョン管理システムによるバイナリファイルのロック

2023-10-28 13:48:35

質問

1 年半の間、私は SVN からの切り替えを希望して、git コミュニティに目を光らせてきました。 私を引き止める 1 つの特別な問題は、バイナリ ファイルをロックすることができないことです。この1年間、この問題についての進展はまだ見られません。 ファイルをロックすることが分散型ソース管理の基本原則に反することは理解していますが、バイナリ ファイルの競合の可能性がある場合に、ソース コードと画像ファイルの変更を追跡するために Web 開発会社が git をどのように活用できるかはわかりません。

ロックの効果を得るためには、"central" リポジトリが特定される必要があります。 git の分散性にかかわらず、ほとんどの企業はソフトウェア プロジェクトのための "中央" リポジトリを持っていることでしょう。 私たちは、指定したアドレスにあるgitリポジトリのロックを必要とするファイルをマークすることができるはずです。 おそらく、git がファイルではなくファイルの内容を追跡するために、これが難しくなっているのではないでしょうか?

git と、変更前にロックされるべきバイナリファイルを扱った経験のある方はいらっしゃいますか?

注:ソースギア社の新しいオープンソース分散バージョン管理プロジェクトであるVeracityは、ロックすることを目標の1つにしているようです。

どのように解決するのですか?

Git LFS 2.0 では、ファイルロックのサポートが追加されました。

Git LFS 2.0.0 では、自分がアクティブに作業しているファイルをロックし、再びロックを解除するまで他の人が Git LFS サーバーにプッシュできないようにすることができるようになりました。

これは、ファイルシステムレベルでマージできないファイルでの作業の損失と同様に、マージの衝突を防ぐことができます。Git の分散と並列の性質に反するように見えるかもしれませんが、ファイルのロックは多くのソフトウェア開発ワークフローの重要な部分です-特に、バイナリ資産を扱う大規模なチームにとって。