8

Gitにpre-commitフックを使用しようとしています。フックは次のようになります。

#!/bin/bash
echo "fail"
exit 1

したがって、常に失敗します。つまり、Gitコミットは失敗するはずです。

gitを使用して何かを追加し、それをコマンドラインでコミットすると、うまく失敗し、コミットが失敗します。

しかし、NetBeansでコミットすると、pre-commitフックが実行されません。それは単にそれを無視しているようです。

UbuntuとNetBeans7.1を使用しています。pre-commitフックの権限は-rwxrwxrwxです(テスト目的で777に変更しただけです)。

これはどのように可能ですか?

4

1 に答える 1

9

そのように見えます。はい。

NetBeans Git統合計画を見ると、フックのサポートがまったく計画されていないことがわかります。

これとは別に、私はGitのIDE統合に依存せず、コマンドラインを使用します。明日NetBeansを削除し、代わりにEclipseを使用することにした場合はどうなりますか?またはVisualStudio?またはKDevelop?新しいIDEと、IDEへのGitの統合について学ぶ必要があります。また、IDEプラグインの開発者が、必要なGitのサブセットを実際に実装したことを期待する必要があります。時間の無駄です。

さらに、NetBeansでのGitの実装は完全にはほど遠いです。持ちやすいstash、、 )cherry-pickと名付けられた機能rebaseは非常に便利です。他のキラー機能についても言及されていません(git bisect誰か?)。

コマンドラインを使用します。GitをGitで使用する方法を学びます。あなたの時間を節約してください。


NetBeans Git統合計画のM2を見ると、Gitの対象となるバックエンドはGitのネイティブ(つまりプラットフォーム固有)の実装ではなく、であることがわかります。それは完全に頭の痛いアプローチです。開発するほぼすべてのプラットフォームには、Gitのネイティブ実装があります。JNIが存在します。プラットフォーム固有のバイナリ(コマンドの純粋なゼロからのJava実装よりも確かに優れたテスト済み)を使用して、小さなJNIラッパーを配置して完了しませんか?はい、どこでも1回の書き込みで失われますが、安定性とコード品質は向上します。jgit

于 2012-07-06T13:20:50.263 に答える