Git サーバー: 新しいコミットの空白の変更を無視する

Git サーバー: 新しいコミットの空白の変更を無視する

Gitの空白の問題に対処する方法はたくさんあるのですが、どれもユーザー側で何らかのアクションが必要です。Gitを設定してWSの変更を無視したり、警告付きのコミット前フックを設定したり、エディタが自動的に削除するように設定したりします。しかし、単にGitで空白の変更を無視する方法はあるのでしょうか?サーバ側それとも、すべての空白を黙って削除するほうが良いでしょうか?

背景: 大規模なリポジトリがあり、ツールの再構成を迫ったり説得したりしたくない開発者が多数いますが、リポジトリの末尾に空白文字が残るのは避けたいと考えています。私にとって解決策は明らかです。すべての空白文字を一度削除し、それ以降の ws の変更を無視します。理想的には、すべての新しいコミットの ws も削除します。しかし、どうすればいいのでしょうか?

答え1

これをまともに行うことはできません。コミットの内容を変更することはできません。新しいコミットを作成することしかできません。たとえこれが可能だとしても、git が壊れてしまいます。サーバー上のコミットはローカル開発者リポジトリに保存されている履歴とは無関係になり、何も機能しなくなります。このようなフィルタリングを本当に実行する必要があります。前にファイルはリポジトリに追加されるため、pre-commitフックなどでクライアント側で実行します。

より良い解決策は、サーバー上に強制メカニズムを実装し、基準を満たさない変更を拒否することです。

関連情報