6

EGitを使用してEclipseプロジェクトのgitリポジトリをセットアップしようとしています。ただし、リポジトリからルート/プロジェクトディレクトリを除外するのに問題があります。つまり、私のプロジェクトの構造は次のとおりです。

ProjectDirectory
    src
    war
    etc

srcリポジトリに、、、warおよびを含めたいのですがetc、親ディレクトリは含めませんProjectDirectory。これは、ワークスペースにプロジェクトのコピーを複製する場合ProjectDirectory2、2番目のプロジェクトのリポジトリが2番目のルートディレクトリを作成しようとするためProjectDirectoryです。残念ながら、EGitを使用してプロジェクトのリポジトリを追加しようとすると、プロジェクトフォルダ自体で[チーム]> [プロジェクトの共有]しか使用できないようで、リポジトリ内のルートディレクトリをから除外することはできません。 Eclipse内。

EGitを使用してリポジトリの最上位ディレクトリをスキップする方法に関する提案はありますか?Eclipse内からすべてを実行できるようにしたいと思いますが、方法がない場合は、gitの外部でこの方法でリポジトリをセットアップする方法があります。それでも、git内から定期的にgitコントロールを使用できます。リポジトリはトップレベルのディレクトリをスキップしますか?どうもありがとうございました。

4

4 に答える 4

7

簡単な答えは、EGIT+M2Eで可能です

トリックは、共有プロジェクトを実行するときです->gitリポジトリの構成ウィンドウで

プロジェクトの親フォルダでリポジトリを使用または作成することがチェックされていることを確認してください

リポジトリの作成ボタンをクリックしてください

これの主な目的は、プロジェクトルートに.gitフォルダーを作成することです。

プロジェクトルートの上ではありません。

于 2015-12-18T16:51:30.097 に答える
2

これが私の解決策です。特にエレガントではありませんが、手順はすべて単純ですが、機能し、約10分で実行できます。

  1. リモートgitリポジトリをローカルファイルシステムに複製します。例: ~/git/project_repo_root

  2. いつものようにEclipseプロジェクトを作成します。例: ~/workspace/eclipse_project_root

  3. eclipseからプロジェクトを削除します(ファイルシステムではありません!)

  4. ファイルマネージャーを開き、作成したEclipseプロジェクトを〜/ worksheet / rootから〜/gitに移動します

    mv ~/workspace/eclipse_project_root ~/git/

  5. .git/フォルダーをrepoフォルダーからeclipseプロジェクトのルートフォルダーに移動します。

    mv ~/git/project_repo_root/.git ~/git/eclipse_project_root

  6. シェルを使用して/eclipse_project_root/に移動し、リポジトリに必要なすべてのファイルに対して通常のコマンドラインコマンドを実行します。

    git add <abc>; .. commit; .. push

  7. Eclipseに戻り、Gitパースペクティブに移動し、[既存のローカルGitリポジトリをこのビューに追加する]をクリックします。使用しているgitリポジトリを選択すると、[OK]と表示されたら、そのリポジトリのエントリでビューが更新されます。

  8. ビューにローカルリポジトリが表示されたら、それを右クリックして[プロジェクトのインポート]を選択できます。

  9. メインの開発パースペクティブ(Javaなど)に戻ると、パッケージエクスプローラービューのルートノードにGitマークアップが表示されたプロジェクトが表示されます。

~~~~~

その時点で、移動したばかりのeclipseプロジェクトフォルダーが表示されます(ここで説明する例では〜/ gitに)

私はこれが私の答えになりたいよりも冗長であることを理解していますが、この特定の課題/解決策については..私はそれを行うためのより簡単な方法を知りません。

そして、上記の投稿については、常にeclipseプロジェクトのルートディレクトリを含める必要があります。実際には、一部のプロジェクト/クライアントなどでは、gitリポジトリにルートフォルダが含まれていない必要があります。したがって、このような解決策が必要になる場合があります

于 2014-04-09T21:07:10.313 に答える
1

複数の理由でプロジェクトルートをコミットする必要があります。

  • プロジェクトのサブディレクトリのみをコミットすると、プロジェクトルートの下に隠されているファイルやフォルダ(.settingsディレクトリなど)が失われます。それらもコミットする必要があります。そうしないと、プロジェクトで情報が失われ、別のマシンで同じ結果が得られない可能性があります。
  • 同じワークスペースで同じリポジトリのクローンをもう一度作成しようとするという希望は、gitブランチについて読み直す必要があるように思えます。gitでは、ブランチ間の切り替えは瞬きの後に行われるため、プロジェクトのさまざまな機能、バージョン、またはその他の異なるエディションで作業する場合は、ブランチを使用する必要があります。
  • Eclipseプロジェクト名とディスク上の基になるフォルダー名は同じである必要はありません(新しいプロジェクトを作成するときは、[デフォルトの場所を使用する]チェックボックスに注意してください)。したがって、別の名前でプロジェクトの2番目のクローンをチェックアウトできます。
  • 後でワークスペースにプロジェクトを追加する場合(テストプロジェクトなど)、それらの追加プロジェクトのコンテンツがリポジトリ内の最初のプロジェクトのサブディレクトリと混同されるため、それらを同じgitリポジトリに簡単に共有することはできません。
于 2013-03-22T14:53:42.457 に答える
1

Mavenプロジェクトがある場合は、通常、egitによって作成されたプロジェクトフォルダーなしでリポジトリを作成します。私の経験では、これはegitプラグインでは不可能です。ただし、gitコマンドラインから簡単に実行できます。

まず、既存のeclipse / mavenプロジェクトをeclipseワークスペースからgitフォルダーに移動します(これはegitプラグインも行ったことです)。

mv myproject ~/git/

次に、新しいgitリポジトリを作成します

cd ~/git/myproject
git init

次に、.gitignoreファイルを作成し、新しいリポジトリフォルダー(〜/ git / myproject / .gitignore)に配置します。これは、.gitignoreファイルの例です。

# ignore all bin directories
# matches "bin" in any subfolder
bin/

# ignore all target directories
target/

# ignore all files ending with ~
*~ 

# ignore eclipse directories and project files
.settings/
.project
.classpath

最後に、プロジェクトのコンテンツで新しいリポジトリを初期化します

git add *
git commit -m "My initial commit message"

それでおしまい。これで、Eclipseを再起動して、新しいgitリポジトリからプロジェクトを再インポートできます。Eclipseのegitリポジトリビューに移動し、「既存のプロジェクトのインポート」を選択します。

于 2013-09-28T09:52:04.713 に答える