[Eclipse][EGit] .projectがルートに配置されるようにGit管理する

前提: Gitのuser.name, user.emailが適切に設定されていること。

この記事の手順で作成したリポジトリは https://github.com/maruTA-bis5/git-init-eclipse です。

1. EclipseのProject Explorerより、Git管理したいプロジェクトを右クリックし、Team > Share Project…を選択する。

2. Share ProjectダイアログのUse or create repository in parent folder of projectを選択する。

3. 対象のプロジェクトを選択し、Create Repositoryボタンをクリックする。

4. Finishをクリックする。

ここまででローカルリポジトリが作成されます。次は初回のコミットを行います。

5. Git Stagingビューを開く。

6. Unstaged ChangesのファイルをStaged Changesに移動し、Commit Messageを入力してCommitをクリックする。
このとき、*.classファイルは表示されていませんが、*.classファイルが出力されるディレクトリは.gitignoreに記載されているため無視されます。他にも無視するファイルがあれば.gitignoreに追記しておきます。
.gigignoreはProject Explorerには表示されないので、このタイミングで修正するか、Git Repositoriesビューから開く必要があります。

初回コミットが完了したら、リモートリポジトリにpushします。(リモートリポジトリでの管理が不要ならここまで)

7. Git StagingビューのPush HEADボタンをクリックする。

8. Location > URIにリモートリポジトリのURL、認証が必要ならAuthenticationを入力しPreview >をクリックする。
画像ではSSHを使用する形で入力していますが、HTTP(S)でも問題ありません。
パスワード認証が必要な場合は、Authenticationを入力しておきます。

9. ブランチの指定は基本的に変更しなくて良いはず。前のステップで入力した認証情報に誤りがあればこの段階でエラーが表示されるので、一度戻って修正する。問題なければPreview >をクリックする。

10. pushのプレビューを確認してPushをクリックする。

11. pushが完了するとpush結果が表示される。失敗した場合もこのダイアログが表示されるので、必ずMessage Detailsの内容を確認する。

[Eclipse] [EGit] マージ時のConflict(競合)を解決する方法

この記事はStackOverflowの質問”How to resolve conflicts in EGit”に対する回答(https://stackoverflow.com/a/27914508)の日本語訳です。(2020/07/02 9:31閲覧 original: dan carter, edited: Peter Mortensen)
原文と同じく、CC BY-SA 4.0でライセンスされます。


Team Synchronize(チーム同期化)ビューを使っていますか?それは問題です。EGitの場合、競合の解決にTeam Synchronizeビューは全く使えません。代わりにGit Repository(Gitリポジトリー)ビューを使う必要があります。

Gitパースペクティブを開いて下さい。Git Repositoryビューの中のBranchesLocalmasterを右クリックしてMerge…を選択します。

Remote Trackingには自動的にorigin/masterが選択されるはずです。Mergeをクリックして下さい。(訳注: 作業ブランチにmasterの変更を取り込む場合は、origin/masterを自分で選択する)

(訳注: 競合している場合は)result:conflictと表示されるはずです。

競合しているファイルを開くと、古いsk000l >>>> ==== <<<<スタイルで競合箇所が示されます。ファイルを編集して競合を解決し、保存します。

‘Git Staging'(Gitステージング)ビューを開くと、変更した(訳注: 競合していた)ファイルが’Unstaged Changes'(ステージされていない変更)に表示されます。右クリックして’Add to Index‘を選択してください。

Enter image description here

これをファイルごとに繰り返します。

そして’Git Staging’ビューからコミットしてプッシュします。Git/Eclipseはあなたがリモートリポジトリに加えられていた変更をあなたのローカルのmasterにマージしたことを認識し、non-fast-forwardエラーは回避されます。

Eclipseにプラグインをインストールする3つの方法

私事ですが、4月1日より社会人として某SIerで働き始めました。(そのあたりの話はSideDにあります。)
メインで使うIDEがEclipseなので、改めてプラグインをインストールする方法を確認しておきます。

※注意:Windowsまたはzipから展開して使っている場合の方法です。
Linuxディストリビューションで提供されているパッケージをインストールした場合は少し変わってくる箇所があるかと思います。

想定しているEclipseは、Eclipse 4.3.2 Kepler  Pleiades All in Oneです。日本語化されたメニュー項目で説明するので、Pleiadesを用いていない場合は適宜読み替えてください。

1. プラグインファイルをダウンロードしてディレクトリに配置する

最も単純なインストール方法です。プラグイン作者のWebページからダウンロードして、Eclipseをインストールしたディレクトリ以下のpluginsやfeaturesディレクトリに配置します。
操作方法を迷う必要はありませんが、プラグインの説明を読まないと正しく配置できない場合があるのが欠点です。また、プラグイン間の依存関係がある場合に解決するのが難しくなります。

2. 「ヘルプ」->「新規ソフトウェアのインストール」からインストールする

1では出来なかった依存関係の解決を含めて自動でプラグインをインストールすることが出来ます。
プラグインのダウンロードからインストールまで、すべてを任せることが可能です。但し、プラグイン作者毎にプラグインの一覧とダウンロード元を取得するために”ソフトウェア・サイト”*1を設定する必要があります。
言い換えれば、ソフトウェア・サイトを設定すればあとは自動でインストールできると言うことです。

3.Eclipse Marketplaceからインストールする

Eclipse Marketplace Clientプラグインをインストールすることで、Eclipse Marketplaceからプラグインをインストールすることが出来ます。
Marketplaceからプラグインをインストールする場合、2で触れたソフトウェア・サイトを設定する必要もありません。すべてMarketplace Clientにお任せです。
ただし、環境によってはMarketplace Clientがインストールされていません。ですがご安心ください。Eclipseにデフォルトで設定されているソフトウェア・サイトからインストールすることが出来ます。
2のやり方で、ソフトウェア・サイトを選択する「作業対象」を”すべての~”として、検索ボックスに”market”と入力すれば、マーケットプレース・クライアントが出てきます。これをインストールすれば素敵なMarketplaceライフの始まりです。

以上3つの方法があります。プラグインによっては、1でしかインストールできない場合や3ではインストールできない場合などありますので、個別に確認しましょう。
特にEclipseのプラグインを配布しているWebサイトは英語で書かれていることがほとんどですが、英語を読めるに越したことはないので、がんばって読みましょう。


Photo By: Arun SkariahCC BY-NC-SA 2.0

*1 以前はアップデートサイトと呼んでいたような気がします