ラベル Git の投稿を表示しています。 すべての投稿を表示
ラベル Git の投稿を表示しています。 すべての投稿を表示

2015年8月1日土曜日

GitHubにPJを作成し、Eclipse (EGit) でCloneし、Mavenプロジェクトにする

EclipseプロジェクトをEGitでGitHubにPushするの手順がいまいち使いにくかったので、EclipseをMarsにしてMavenを使ったやり方を整理してみた。まだ気になるところはあるけれど、一旦こんなところで。

GitHub上にリポジトリを作る

GitHubにログインして、右上の"+"メニューから"New Repository"を選び、リポジトリ作成画面を表示させる。必要な項目を入力して、"Create repository"ボタンを押すと、リポジトリが作られる。

入力内容によってREADME.mdなんかが出来たり出来なかったりするけれど、この投稿はファイルができているケースを想定して続ける。

Eclipseとリポジトリを連携する

httpsプロトコルで連携する。sshでも連携できるけれど、その場合は事前に公開鍵を作成しGitHubに登録しておく必要がある。

Windows > Show View > Git Repositoryを選び、そのビューを表示させる。"Clone a Git Repository"を選び、Location > URIにGitHubリポジトリの"HTTPS Clone URL"を入力する(リポジトリ初期表示時はHTTPSではなくSSHなので、HTTPSリンクを押して切り変える)。Hostなどが自動的に埋められるので、AuthenticationにGitHubのユーザとパスワードを入力し、"Next"ボタンを押す。Local Destinationを選んでFinishを押すと、そこにリポジトリのCloneができる。

リポジトリからEclipseにプロジェクトをimportする

EclipseのGit Repositoryビューで、リポジトリを右クリックして、"Import Projects"を選ぶ。"Import as general project"を選んで、"Next"ボタン、"Finish"ボタンを順に押していくとimportされる。

general projectを選んでいるのは、リポジトリを作成するときにファイルが作られているから。こうしてからこの後にMavenプロジェクトにするのと、完全に空にしておいてこの時に新しいMavenプロジェクトとして作成するのとどちらがベターなんだろう。

ここで.gitignoreにgitignore/Global/Eclipse.gitignoreを追加しておくと後から誤コミットをしなくて済む。.classpathなどなくてもこの後Maven化するので問題ない。

インポートしたプロジェクトをMavenプロジェクトにする

importしたプロジェクトを右クリックして、Configure > Convert to Maven Projectを選ぶ。

J2SEに関するWarining "Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment."が出る。pom.xmlに下記を追記して、Maven > Update Projectで解消すいる(参考:Maven Project を作成すると警告が出る - 電卓片手に)。
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.3.2</version>
      <configuration>
        <source>1.8</source>
        <target>1.8</target>
      </configuration>
    </plugin>
  </plugins>
</build>

Mavenで依存するライブラリを追加する

右クリックして Maven > Add Dependenciesを選び、からライブラリを検索して追加すると、Maven Dependenciesに追加される。

あとは

好きなようにコードを書けばOK。ただし、Mavenのarchitypeを使っていないので、ソースフォルダなどは手で作らないといけない。GitHubのリポジトリは空にして、新しいプロジェクトを作ってimportすればarchitype使えそうだけれどどちらが楽だろうか。

参考

2013年1月13日日曜日

EclipseプロジェクトをEGitでGitHubにPushする

『JUnit実践入門』の演習問題を、手を動かして解いてみようと思ったのは良いのだけれど、そのときEclipse上のコードをGitHub上のリモートリポジトリに登録するのに手間取った。まだ未整理の部分があるけれど、次に似た作業をするまで間がありそうなので、メモを残しておく。

なお、バージョン情報は下記の通り。
  • Eclipse 3.8
  • EGit 2.2

下記の手順で、GitHub上のリモートリポジトリso-c/junit-introduction · GitHub以下に、Eclipse上の複数プロジェクト(チュートリアル用、各章の演習用)を登録できた。ただ、コミットログに残っている通り試行錯誤していたから、不正確な部分があるかもしれない。
  1. Eclipse上でプロジェクトを作成する。ここでは、"junit-practice"を使う。
  2. 作成したプロジェクトのコンテキストメニューから、[Team] > [Share Project]を選択する。
  3. "Share Project"ウィンドウが開くので、"Git"を選択して[Next]を押す。
  4. "Configure Git Repository"ウィンドウが開くので、下記の通り入力する。
    • 最初のプロジェクトでは下記を実行して、リポジトリを作成する。
      1. "Repository"横の[Create]ボタンを押す
      2. "Create a Git repository"ウィンドウが開くので、下記のように入力し、[finish]を押す。
        • Parent Directory: /home/so_c/git
        • name: junit-practice
    • 2つ目以降のプロジェクトでは、"Repository"で作成したリポジトリを選択する。
  5. "Configure Git Repository"ウィンドウのリストに作成したリポジトリが表示されるので、チェックし[finish]を押す。
これで、Eclipseのプロジェクトがローカルリポジトリで管理されるようになる。何かコミットしたとして、リモートリポジトリにPushするには、次の2種類の方法がある。空のリモートリポジトリを予め用意しておくこと。
  • Push: プロジェクトのコンテキストメニューの[Team] > [Remote] > [Push]から使用する。EGitメモ(Hishidama's Eclipse Git Memo) 新規プロジェクトの作成方法を参照。
  • Configure Push: プロジェクトのコンテキストメニューの[Team] > [Push to Upstream]から使用する。事前に設定が必要。EGit/User Guide - Eclipsepediaに書いてあると思うのだけれど気が付かず、端末からgit remote add
  • でリモートレポジトリ追加して、[Team] > [Remote] > [Consigure Push to Upstream]から設定してしまった。
なお、プロジェクトのルートをリポジトリのルートに対応させる場合は、4の手順が次のように変わるはず。通常はこちらの方をよく使うと思う。今回は、リポジトリ内で、チュートリアル・演習問題の各章を違うプロジェクトにしたかったから、1リポジトリ複数プロジェクト構成にした。
  1. "Use or create repository in parent folder of project"をチェック
  2. ローカルリポジトリの場所を入力し、[Create Repository]を押す (プロジェクトフォルダの親フォルダが既にリポジトリなら、不要のはず)
  3. [Next]を押す

References