2012-05-02 3 views
6

私はGitには新しく、これを理解するのが非常に難しいです。開発者がプロ​​ジェクトビルドパスで異なるバージョンのJBossを使用しているときに、Gitの.classpathファイルをどのように処理するのが最適でしょうか?

EclipseでJBoss Application Server 5.1を使用しています。 JBoss Tools Eclipse Pluginをダウンロードした人もいるので、JBoss 5.1 Runtime ServerをEclipseワークスペースに「JBoss AS 5.1」として追加することができます。これは、次のようになりますクラスパスラインにつながる:

<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.jboss.ide.eclipse.as.core.server.runtime.runtimeTarget/JBoss 5.1 Runtime"/> 

他の人々は、JBossのツールプラグインのダウンロードとインストールの値が表示されていないので、彼らはただのEclipseの組み込みだけ上がるのJBossサーバアダプタを使用しますJBoss v.50へ。ファイルはすでに私の原点に押され、削除されている

  1. :ので、私は私の.gitignoreファイルに.classpathを追加したくない

    <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.generic.runtimeTarget/JBoss v5.0"/> 
    

    :彼らはこのようになりますクラスパスラインを持っていますそれらは私が過去に理解しようとしなかった超苦痛なプロセスです。

  2. 私は、新しい作業領域を設定している人に、Gitからプロジェクトをインポートしてすぐに行けるようにしたいと思います。

これまでのところ、それぞれの.classpathファイルを作業ディレクトリで変更してみましたが、決してコミットしませんでした。これは私たちのgitの状態で表示され続けるだけでなく、コミットされていない変更について不平を言うEgitのブランチをマージまたは切り替えることを許可しないことがあるので迷惑です。

代わりにクラスパス変数の使用についてインターネットで読んだことがありますが、JBossライブラリへの正しいパスが見つからないようです。上記のclasspath行は、どこかEclipse/pluginsディレクトリのどこかを指しているようです。しかし、私はそれを見つけることができません。私はまた、いくつかの変数を私のC:\ jboss-5.1.0.GA \ディレクトリに置こうとしましたが、何もしないようです。

リポジトリをクローンしている新しいユーザがリポジトリを現在の状態にしているので、.classpathファイルをそのままリポジトリ内に残す方法はありますか?ファイル?

+0

回答は、最後の文は、すでに言及したものです: gitignore。 – yorkw

+0

私は既に押し込まれているファイルを削除することは "超苦痛"だとは思わない。一時的にローカルファイルを移動してから、-A&pushを実行してみてください。 – eaykin

答えて

1

もう1つの回答は、content filter driver、つまり.gitattributeファイルで宣言したスクリプトを使用することができます。あなたのレポのチェックアウト時に

filter driver

、汚れのスクリプトは、ローカル環境を分析する場所でのJBossを検出し、それに応じてclasspathentryを適応を担当することでしょう。
このようにして、classpathentryが正しくない少数の特殊なケースに適応しながら、そのファイルの最も有益なコンテンツをバージョン管理することができます。

+2

あなたはあなた自身の答えにリンクしています。あなた自身の答えにリンクしています。 –

+1

@GlennMaynard correct:これら2つの古い回答は、コンテンツフィルタの「汚れ」のステップをもう少し詳しく説明しています。 – VonC

6

Pagebakersgitから簡単に、一度あたりの開発ソリューションは、それを元に戻すには

git update-index --assume-unchanged <file> 

で、あなたにだけ使用

git update-index --no-assume-unchanged <file> 
+0

この回答はGitHubの[Ignoring Filesヘルプ]ページ(https://help.github.com/articles/ignoring-files)の "リポジトリ内のファイル(バージョン管理されているファイル)通常、これは編集されたさまざまなローカル設定ファイルですが、アップストリームで決して決して決してすべきではありません。 – Daryn