2012-04-22 30 views
3

SVNで10年を過ごした後、ついにGitに突っ込みました。私はGit、Gitolite、GitLabをサーバー上にセットアップし、ローカルのリポジトリ、コミットされたクローンされたリポジトリ、およびコードをリポジトリに戻すことに成功しました。ここまでは順調ですね。EGitクローンを使ってEclipseプロジェクトを作成する方法

ssh://dexter:vaultanalyser.git 

(GitLabでは、リポジトリはIので、プロジェクトと呼ばれている:今、EGitは、私はパスに対して、次の構文を使用してビューを探るGitのリポジトリを使用してリポジトリをクローン化してきた...

に入ります

:??これはリポジトリへのインポートに私はむしろ、複数のプロジェクトが含まれているSVNスタイルの単一の親リポジトリよりも、Eclipseプロジェクトごとに1つのリポジトリを持つことになっています

仮定

私はこのステップで自動的にすべてのソースというEclipseプロジェクトを作成することを期待していましたが、これはそうではありません。私は、それが私のワークスペースにあるので、ターゲットディレクトリをファージングしようとしましたが、これはどちらも動作していません。

Eclipse内で複製されたソースを入手するにはどうすればよいですか? This siteは、リポジトリと同じ名前のプロジェクトを作成した場合、すべて魔法のように動作するが、そうではないことを意味する(はい、記事はGitLabではなくGithubについてのことだが、手近な作業のために)。

私はEclipseでプロジェクトを作成して共有しようとしましたが、プロジェクト全体がリポジトリのサブフォルダとして表示されます。リポジトリが実際にプロジェクトに類似している場合、これは実際に私が望むものではありません。

私は他のStackOverflowトピックを見てきましたが、私はまだこれが動作するはずの重要な部分を見逃しているのではないかと心配しています。

ヘルプ?

答えて

3

In GitLab, repositories are referred to as projects, so I assume that I am supposed to have one repository per Eclipse project?

はい、GitLabの「プロジェクト」は必ずしもEclipseのものではありません。
"Eclipse reference directory outside eclipse project directory but within repository"に示すように、SVN構造に従う必要はありません。

あなたがする必要があるのは、デフォルトのパス(Eclipseワークスペース)にないているソースディレクトリを指定して、Eclipseプロジェクトを作成することですが、あなたはあなたのレポを複製どこでも(「Getting started with Eclipse + EGit - confused」で説明したように)。
こうして、あなたが宣言した(そしてEclipseワークスペースで参照されている)eclipseプロジェクトは、Gitリポジトリのルートにそのファイル(.project.classpath)を持っています。
そして、Egitはそのプロジェクトをうまく管理できます。
また、Egitで直接インポートすることもできます。 "Eclipse + EGit: clone project into workspace"以下OP nullpainterレポートとして


The original issue was compounded by invalid permissions in the .git/objects folder on the server.
Running a chmod git:git -R * on the folder solved the issue

彼は右下の設定について詳しく説明します。 VonCの答え@上拡大すること

+0

おかげで(私のオリジナルの問題は、サーバー上の.git/objectsフォルダに無効な権限で配合したフォルダのchmod git:git -R *は、問題を解決し実行しています)。それは治療を働かせた。プロジェクトを共有することを選択した場合、ターゲットの場所は/ Users/mattpainter/git//でした。これは私が望むものではありません。リンクされたソースではまだ表示されていますが、コミットすると/src/とsrc/の両方が表示されます。とても混乱するような...! – nullPainter

+0

実際には、この問題は、リポジトリを指し示すリンクされた 'src'フォルダを作成したばかりのためです。私のEclipseのバージョン(Juno)は、 '既存のソースからプロジェクトを作成する'説明する。 私はEclipseワークスペースに '.project'と' .classpath'を持っていますが、これは実行可能であると思います。 – nullPainter

+0

右。 「既存のソースからプロジェクトを作成」は、標準の「新規Javaプロジェクト」ダイアログに合併されました。これを実行し、 'プロジェクトの親フォルダにリポジトリを使用または作成すると、' .project'ファイルの競合に関するエラーを避けるために共有すると、次のエラーが発生します。 'プッシュ中に内部例外が発生しました:dexter:vaultanalyser。 git:欠落ツリー32f2fe4f5ee5a4e2e7265ac5068a2b17a30b32e4' – nullPainter

0

私はコマンドラインでそれをチェックして、その上に自分のプロジェクトを構築します。実際には、私はコマンドラインgitでほとんどの操作を行うことになります。 EGitは差分を表示するのに便利ですが、コマンドラインにはより多くのパワーと制御があります。 Gitはdevsに多くの権限と制御権を与えることに関するものです。

3

、EGitとEclipseがうまくプレーするために取得する手順は次のとおりです。

  1. は、すべてのデフォルトを受け入れて、EGitから「Gitリポジトリをクローン」を選択します。これにより、ワークスペースの外側にあるgit親フォルダにフォルダが作成されます。

  2. 新しいEclipseプロジェクトを作成します。私はJavaを使用していますが、他の言語にも同様の手順があると想定しています。最初のダイアログで、「Use default location」を選択解除し、手順1で作成したリポジトリ・フォルダを選択します。すべてのデフォルト値を受け入れます。

  3. 新しいプロジェクトからTeam > Share Project...を選択します。 Gitを選択し、 'プロジェクトの親フォルダにリポジトリを使用または作成する'にチェックを入れます。

これでEclipse内からコードとEclipseのドットファイルをgitリポジトリにプッシュできます。

-

+0

フィードバックありがとうございます(+1)。私はより多くの可視性のために私の答えにそれを含めた – VonC

関連する問題