7

アプリケーションはSencha Architectを使用して開発されます.Sencha ArchitectはさまざまなIDE関連のもの(エクスポートパス、IDEのバージョン管理など)を管理するための補助ファイルのホストを使用します。gitリポジトリでIDEファイルを管理するには?

チームメンバーがSencha Architect IDEでプロジェクトを開くたびにこれらのファイルの一部が変更されます。

特に厄介な変更の例を挙げると、Architectによって生成された*.xdsファイルには、プロパティexportPathがあると考えられます。私は公開するサーバーを特定のパスに持ち、他のチームメンバーは異なるサーバー/パスの構成を持ちます。

我々のコードベースでは、私は非常に多くのいずれかしたいと思いますが、IDEファイルを持っている:サブモジュール(はい、gitの固有で別のリポジトリで

  1. 、私が知っています)または
  2. は、VCSが変更されていない状態で、ユーザーのマシンに常駐します。ここで注意すべき

重要なのは、煎茶アーキテクトは、ファイルがプロジェクトに対する特定の場所にあることを期待するので、IDEファイルは、通常のソースファイルと同じ場所で利用可能でなければならないこと、です。

また、.gitignoreを使用することはオプションではありません。Sencha Architectは、それらを正しく開く他のチームメンバーにとって重要な情報を書き込むためです。例えば。プロジェクトを開くとき、Sencha Architectはプロジェクトを新しいバージョン(プロジェクトをまったく開こうと思っていれば非オプションである)にアップグレードすることを決めることができ、更新の過程で、IDEは、コードファイル。他のチームメンバーは、プロジェクトを正しく開くために、バージョンのアップグレードを認識している必要があります。

This SO questionは、Senchaが使用する畳み込み形式の背景を示しています。私はSencha Architectのアーキテクチャーを評価する際に否定的な言い訳をしていますが、(メタデータとコード生成を使用して)良いアイデアを出しているようです(gitを含むすべての良いunixツールの使用を無効にしています)。

ここではどのようなアプローチが望ましいでしょうか?なぜ?

+0

ファイルの重要度によって異なります。たとえば、C#とReSharperの場合、.DotSettingsファイルはVCSに入れられ、.user.DotSettingsファイルはVCSに入れられません。ファイルが見つからない場合は、プロジェクトを構築することができますか?それは正しく構築されますか? – Athari

+0

@Athari:ご意見ありがとうございます。私はこの問題に関連する詳細情報を更新しました – Steen

+0

プロジェクトレベルとユーザーレベルのオプションが1つのファイルに混在している場合、単純な解決策はありません。ファイルのいくつかの部分だけをコミットすることはできませんし、AFAIKは無視しておいてください。オプションを別々のファイルに分けるためにSenchaに機能要求を提出したいと思います。一方、大幅な変更があった場合にのみIDEファイルをコミットし、マージオプションを扱うことは、他の開発者に同意することができます。 – Athari

答えて

6

かなり魅力的な理由がない限り、IDEファイルのバージョンを変更しないでください。おそらくあなたのプロジェクトは、特定のIDEにプラグインを使ってビルドするだけで、それらの設定をバージョンする必要があります。プロジェクトをビルドまたは実行するためにそれらのファイルが必要ない場合は、おそらくそれらをバージョン化しないでください。

ignore those files Gitを使用してください。特に、IDEファイルはグローバルなgitignoreに適しています。それぞれのユーザーが必要とするIDEを使い、それらの設定をすべてのリポジトリに適用する必要があるからです。

+2

私はあなたに完全に同意します。しかし、このプロジェクトでは、すでにバージョン管理下にあるすべての種類のIDEファイルがあります。チームメンバーは、VCSにあるファイルに依存しています。 Sencha Architectは、それらを正しく開く他のチームメンバーにとって不可欠な情報を、Sencha Architectが書き込むため、オプションではありません。これを質問に追加します。ありがとう。 – Steen

0

ユーザー固有の設定を格納するファイルを除いて、IDEファイルのバージョン管理を使用すると便利です。 https://intellij-support.jetbrains.com/entries/23393067も参照してください。これらのファイルのバージョン管理を使用しての

利点は、全体の開発チーム

  • のコードスタイルの

    • 共有が同様にバージョン管理下にあるネストされたリポジトリを管理し、共有しています。
    • など
  • +0

    リンクが壊れています。現在の作業リンクはhttps://intellij-support.jetbrains.com/hc/en-us/articles/206544839-How-to-manage-projects-under-Version-Control-Systemsです。 – azhidkov

    関連する問題