2016-11-14 5 views
0

この(およびその他の)質問/回答:git-on-windows-how-do-you-set-up-a-mergetoolに続いて、ローカルPCに差分/マージツールを設定する方法を説明していますプロジェクトごとに)。プロジェクトの標準マージツールをレポ自体に設定してください

私たちのプロジェクト(私たちはツールセットとインストールを標準化しています)では、diff/mergeツールを一度設定して全員に公開したいと思います。

これを行う方法はありますか?つまり、プロジェクトをクローンするときには、すでにmerge/diffツールの設定が付属しています。

私は、「設定」ファイルがあることを.gitフォルダの中を見た - 私が追加してみました:

[diff] 
    tool = bcompare 

をしかし、私は、コマンドgit difftoolに入ったとき、これは動作していないようでした...

+0

リポジトリ設定をロールアウトすることはできません。それは単に可能ではありません。リポジトリのクローン作成後に実行できるセットアップシェルスクリプトをリポジトリに追加することはできますが、リポジトリがそれらの設定を使用することはありません。 – poke

+0

@poそれは、私がレポではできないなら、公平な戦略です。あなたは+1が好きなら、それを答えとして追加してください。それ以上のことがなければ、私はそれをマークします。 –

答えて

2

コメントに記載されているように、リポジトリ設定をリポジトリをクローンするすべての人に公開することはできません。これは、.git/configに格納されている直接設定だけでなく、フックのようなものにも適用されます。リポジトリをクローンするたびに、デフォルトのリポジトリテンプレートが/usr/local/git/share/git-core/templatesからコピーされ、クローニングプロセスの一部として作成された一般的な設定(例:.git/configおよび一般的な参照)が追加されます。

構成は常にリポジトリに対してローカルなので、複製されたリポジトリは元のローカル構成からの設定もコピーしません。

フックの場合、この問題の一般的な解決策は、リポジトリ内に直接またはローカルで使用可能なツール(たとえばGerrit’s git-review)の一部として、最初に使用されたときにローカル設定を設定する設定スクリプトを用意することです。

diff/mergeツールでは、チームメンバーにこれを行う同様のセットアップスクリプトを提供できます。

しかし、そのツールは、使用しているコンピュータだけでなく(たとえば、あなたとは異なるフォルダに私のBeyond Compareをインストールすることもできます)、非常に主観的です。あなたがデフォルトとして設定したツールYの代わりにツールXを使用するのがより快適な人がいるかもしれません。だから私はこれを開発者に任せておくことをお勧めします。彼らが気にしていれば、彼らはすでに世界的にいくつかのツールをすでに確立している可能性があります。

+0

ありがとうございました。私はちょっとしたバットファイル(残念なことに... windoze)を作成しましたが、これは越えて比較するように構成されていますが、省略時の値でなければパスを指定するオプションのパラメータも取ります。 –

関連する問題